zirk.us is one of the many independent Mastodon servers you can use to participate in the fediverse.
Literature, philosophy, film, music, culture, politics, history, architecture: join the circus of the arts and humanities! For readers, writers, academics or anyone wanting to follow the conversation.

Administered by:

Server stats:

759
active users

#cpython

1 post1 participant0 posts today
Continued thread

Just released: Python 3.14.0a7 🚀
Just released: Python 3.13.3 🚀🚀
Just released: Python 3.12.10 🚀🚀🚀
Just released: Python 3.11.12 🚀🚀🚀🚀
Just released: Python 3.10.17 🚀🚀🚀🚀🚀
Just released: Python 3.9.22 🚀🚀🚀🚀🚀🚀

Last 3.14 alpha! Less than a month to get new features in before beta!

Last 3.12 bugfix release! Now in security fix only!

And security releases of 3.9-3.11.

Please upgrade 3.9-3.13!

Please test 3.14!

discuss.python.org/t/python-3-

The Python version diagram has been updated to show the bugfix/security split for each release. (Before, the bars were either completely green or yellow.)

devguide.python.org/versions/

It's also zoomed in and shows fewer releases than before. There's another chart further down the page showing all of 2.6 to 3.14. And the wording in the status key has been refreshed to make it clearer.

Thanks to @nedbat and @encukou for updating it!

#Python#CPython#EOL

Following git blame in CPython can quickly take you a long way back!

3 years ago
23 years ago
25 years ago
32 years ago
32 years ago (+ 6 days)

(Checking who first added these tests, it was Guido on 9th March 1994 for Python 2.0.)

github.com/python/cpython/blam

github.com/python/cpython/comm

Performance of the #Python 3.14 tail-call interpreter- About a month ago, the #CPython project merged a new implementation strategy for their bytecode interpreter. The initial headline results were very impressive, showing a 10-15% performance improvement on average across a wide range of benchmarks across a variety of platforms.

Unfortunately, as I will document in this post, these impressive performance gains turned out to be primarily due to inadvertently working around a regression in #LLVM 19. When benchmarked against a better baseline (such GCC, clang-18, or LLVM 19 with certain tuning flags), the performance gain drops to 1-5% or so depending on the exact setup.

blog.nelhage.com/post/cpython-

Made of Bugs · Performance of the Python 3.14 tail-call interpreterA deep dive into the performance of Python 3.14's tail-call interpreter: How the performance results were confounded by an LLVM regression, the surprising complexity of compiling interpreter loops, and some reflections on performance work, software engineering, and optimizing compilers.

I'm trying to compile CPython with the mold(1) linker, but so far I haven't been able to get the build system to pick it up. Can anyone point me in the direction of building CPython with mold(1).

This isn't for any purpose other than playing around/learning.

If anyone is willing, I'd appreciate a boost for visibility :)

New account, so new #introduction. Let's do it again!

I have a
#MastersDegree in #ComputerScience and #ComputerEngineering. I went to #NMU for undergrad and #MSU for my graduate degree. I currently work at #UChicago for the #TMWCenter, which focuses on helping young children acquire language (and therefore other learning skills) faster.

In my spare time, I develop
#OpenSourceSoftware such as
- a
#SphinxDoc extension that embed #Fediverse comments on your page
- a library to talk to
#ManifoldMarkets from native #Python
- a
#PredictionMarket manager using the above
- a
#transpiler from a subset of Python to #OpenStreetMaps's #OverpassQL
- bug fixes to many other projects, including
#mypy, #base58, #attrs, #CPython, & more

I spend a fair bit of my time these days on
#MathResearch, specifically into the #ThueMorse Sequence and its extensions.

I'm also a hobbyist editor on OpenStreetMap.

#Demisexual, #transfem, and happily engaged to my #enby sweetheart.

We have two cats:
#OpheTheLoaf and #MayalaranTheCat (yes, from #StormlightArchive) See here for more on them!

I speak English fluently, Spanish haltingly, and am trying to learn Chinese

#queer #Chicago

TransFem SpaceOlivia A-C (@LivInTheLookingGlass)These are our cats, #OpheTheLoaf and #MayalaranTheCat. Ophelia was originally my partner's, we live together full time now, and are an integrated family Fun facts about Ophelia: * She is missing a tooth, so her lip sometimes gets stuck open in a cute way * She has an "activation noise" that sounds kinda like a pigeon * She will often do 10/10 loafs, hence the nickname Some facts about Maya: * Her favorite hobby is judging the neighbors * She is very anxious * She has an incredibly dainty play style * She has a series of increasingly ridiculous nicknames: Mayalaran -> Maya -> Mayo -> Aioli -> Au Jus (Follow the hashtags if you want just my cats) #CatsOfMastodon #CatsOfFedi (📎8)

Moim zdaniem, polityka projektu #CPython dotycząca starszych wersji otrzymujących wyłącznie "poprawki bezpieczeństwa" nie sprawdza się.

W praktyce sprowadza się do tego, że mamy kilka starszych gałęzi, które rzekomo są wspierane, użytkownicy polegają na tym wsparciu, a w rzeczywistości wsparcia nie ma, więc dystrybucje muszą samemu zaciągać łatki po to, by naprawiać problemy z tymi wersjami. Włączając w to poprawki bezpieczeństwa, które jeszcze nie doczekały się wydania w tych gałęziach.

(Tutek sponsorowany przez konieczność zaciągnięcia kolejnego zestawu paczek do #Gentoo.)

I think the #CPython approach of "security supported" releases is pretty bad.

It basically means that there's a bunch of versions that upstream pretend to support and users rely on being supported, except that they aren't really supported, so downstreams have to do all the work backporting patches to fix bugs. Including security bugs that haven't made it into a release yet.

(Post sponsored by yet another bunch of patches being backported in #Gentoo.)

Jeżeli kiedyś zastanawialiście się, jak szybko rośnie `packaging.tags.sys_tags()` na GNU / #Linux, to mam formułkę (chyba że coś popieprzyłem). Dla #CPython 3.x na #glibc 2.y, łączną liczbę tagów wyraża wyrażenie:

2xy + x + 3y + 3

Albo równoważnie:

x(2y + 1) + 3y + 3
y(2x + 3) + x + 3

Co za tym idzie, jeżeli nic innego się nie zmienia, to każda nowa wersja Pythona dodaje (2y + 1) tagów, a każda nowa wersja glibc dodaje (2x + 3) tagów. Dla glibc 2.41, daje to 83 nowe tagi na nową wersję CPythona. Dla CPythona 3.13, mamy 29 nowych tagów na nową wersję glibc.

No i dla porównania: CPython 3.13 na architekturze x86_64 z glibc 2.41 ma już 1205 zgodnych tagów paczek wheel.

If you were ever wondering how fast `#packaging.tags.sys_tags()` are growing on GNU / #Linux, I have a formula for you (unless I screwed up the maths). For #CPython 3.x on #glibc 2.y, the total number of tags is:

2xy + x + 3y + 3

Or equivalently:

x(2y + 1) + 3y + 3
y(2x + 3) + x + 3

So all other things equal, every new minor version of #Python introduces (2y + 1) tags, and every new minor version of glibc introduces (2x + 3) tags. For glibc 2.41, this means 83 new tags per CPython version. For CPython 3.13, this means 29 new tags per glibc version.

Oh, and for a good measure: CPython 3.13 on x86_64 with glibc 2.41 features 1205 compatible wheel tags.

I've played a bit with the #TODOmd hook and I know how many TODOs there are in some popular Open Source projects:

* CPython: 187 TODOs
* Linux: 3788 TODOs
* Git: 112 TODOs
* Go: 455 TODOs

Source: codeberg.org/lig/todo-md/src/b

What other Open Source projects should I enhance with the TODO.md file?:)

Codeberg.orgtodo-md/README.md at maintodo-md - `TODOmd` is a pre-commit hook implemented in Go that maintains `TODO.md` file in your repo