@caten #Linux comes with #CPython - #Rust is not a requirement to use #python at all - Just Rust-programmed tools provide some candy for #python developpers, aka. #uv, #ruff...
I would like #Linux and #CPython without #Rust. Is there anyone working on making this happen?
#kernel #Python #C #CLang #SoftwareDevelopment #SoftwareEngineering
CPython — Сборка мусора изнутри, ч.4
Пришло время поговорить о главной функции сборщика мусора в CPython . В предыдущих частях ( 1 , 2 , 3 ) мы говорили о поколениях, инкрементальной и полной сборке мусора — но все они в итоге вызывают главную функцию, которая и реализует основной алгоритм циклического сборщика мусора — находит и разрывает циклы у объектов, которые уже вышли из использования. В первой статье на тему устройства сборщика мусора я написал, что история началась, когда я попробовал исправить ошибку в CPython . И вот, в четвёртой статье, я наконец‑то добрался до функции, в которой была ошибка. Если вам интересно, давайте посмотрим, как работает «сердце» сборщика мусора.
une documentation bas niveau par zpoint expliquant l'implémentation officielle de l'interpréteur cPython mis à disposition par @ThePSF : https://zpoint.github.io/CPython-Internals/
Le repository hébergeant la documentation : https://github.com/zpoint/CPython-Internals
CPython — Сборка мусора изнутри, ч.3
В прошлых частях мы поговорили о том, как происходит регистрация объектов в сборщике мусора, о том как происходит планирование и вызов сборки мусора, что такое молодое поколение и как устроена для него сборка мусора. В этой части пришло время поговорить об инкрементальной сборке мусора - главному нововведению версии 3.14 в части сборки мусора. Поговорим, как она устроена, какие даёт преимущества и какие имеет недостатки, а также затронем полную сборку мусора. Если вам интересно, давайте попробуем разобраться.
https://habr.com/ru/articles/986784/
#gc #garbage_collector #python #cpython #reference_counting #incremental_gc
PyClean v3.5.0 released last week! Adds Complexipy debris removal. Try it with #conda or #uv now! `uvx pyclean`. https://pypi.org/project/pyclean/ #python #bytecode #debris #cleanup #development #python3 #cpython #pypy #Linux #macOS #Windows #complexipy
I heard you like alphas?
Just released! Python 3.15.0a5, this time built against `main` from today instead of last month! 🚀
https://discuss.python.org/t/python-3-15-0-alpha-5-yes-another-alpha/105721
Really good to see new releases from Astral, pyenv and GitHub Actions just hours after a new Python release. And for an alpha at that!
Just released: Python 3.15.0a4 and look at those JIT numbers!
Connaissiez-vous l’interpréteur RustPython ? C'est une ré-écriture complète de CPython en Rust… ça promet d'être plus rapide et sujet à moins de bug de gestion mémoire (facilement commis en C).
***
Pour rappel Python est le langage de programmation le plus utilisé au monde. C'est aussi l'un des langages de script les plus lents.
Published my first PyPI package today, called lafleur.
#lafleur is a specialized CPython JIT fuzzer that uses a coverage-guided, evolutionary approach. It executes test cases, observes their effect on the JIT's state by analyzing verbose trace logs, and uses that feedback to guide its mutations, becoming smarter at finding interesting code paths over time.
Let me know if you use it or have any questions.
https://pypi.org/project/lafleur/
https://github.com/devdanzin/lafleur
Looks like #pyenv releases will now be more closely in sync with #CPython releases thanks to some newly implemented automation. That's great news!
Thanks to the devs for making this happen.
Some new preliminary numbers from Ken Jin for the JIT in Python 3.15:
"On AArch64 macOS, the JIT has a 7-8% speedup over the tail calling interpreter with all optimizations enabled."
https://docs.python.org/3.15/whatsnew/3.15.html#whatsnew315-jit
https://github.com/python/cpython/commit/d9c1235db44100b16355a347ca9e304df48411a7
This is in addition to 3-4% over the standard CPython interpreter on x86-64 Linux.
See also https://doesjitgobrrr.com
[Перевод] 5 ключевых изменений в Python 3.14 глазами инженера
Команда Python for Devs подготовила перевод статьи о ключевых изменениях в Python 3.14. Автор разбирает релиз через призму внутреннего устройства интерпретатора и производительности: свободная многопоточность, конкурентные интерпретаторы, удалённая отладка, инкрементальная сборка мусора и новый Tail Calling интерпретатор.
Just released! 🚀
🐍 Python 3.15 alpha 3!
https://discuss.python.org/t/python-3-15-0-alpha-3/105325?u=hugovk
🔬 PEP 799: A new high-frequency statistical sampling profiler and dedicated profiling package
💬 PEP 686: Python now uses UTF-8 as the default encoding
🌊 PEP 782: A new PyBytesWriter C API to create a Python bytes object
🎨 Colour code snippets in argparse help: https://bsky.app/profile/savannah.dev/post/3m7svdqdeqs2x
⚠️ Better error messages
#Python #Python315 #CPython #release #PEP799 #PEP686 #PEP782 #argparse
There's another researcher, Zhengyu Liu, who's been finding CPython crashes (mostly use-after-free) at breakneck speed (19 in 5 days!): https://github.com/python/cpython/issues?q=is%3Aissue%20author%3Ajackfromeast
Not sure about what technique they're using, but their site states they they favor "leveraging program analysis approaches to detect/exploit/patch vulnerabilities in real-world complex applications and systems".
Their reports are comprehensive, with great presentation and details.
There's a researcher, Jiang Yuancheng, who's doing a great work finding CPython crashes and memory leaks: https://github.com/python/cpython/issues?q=is%3Aissue%20author%3AYuanchengJiang
They've come up with a very clever idea for a new way of fuzzing, made a fine tool out of it, and are reaping great results.
Fuzzing can be a diminishing returns endeavor: you only have so many bugs to find. Their approach has shown itself to cover different areas and kinds of issues well, as shown by their track record.
niklas-heer/speed-comparison: A repo which compares the speed of different programming languages.
https://github.com/niklas-heer/speed-comparison
This projects tries to compare the speed of different #programming languages. It uses an implementation of the Leibniz formula for π to do the comparison.
Notably:
- #Julia is the only dynamically-typed languages amoung the top tier, only ~28ms slower from #Cpp (#Clang).
- #Rust got a huge boost with nightly compiler (it is said that hand-written SIMD is used?)
- #Go tops in 3rd tier (very crowded 0.8s~1s)
- #PyPy and #Haskell (#GHC) are very closed (~1s), preceding #Racket, beating #Python (#NumPy) by a lot (~1.2s)
- The slowest is #CPython (~86s)
Just released! 🚀🐍
Python 3.14.2 (and 3.13.11)
Waiting for the .2 to upgrade? This one's especially for you!
So soon? We found some regressions, so here’s an expedited pair of releases. They also come with bonus security fixes.
https://discuss.python.org/t/python-3-14-2-and-3-13-11-are-now-available/105214?u=hugovk
🚀 Seu app Python "incha" a memória misteriosamente? Desvende o Garbage Collector do CPython: refcounting + GC geracional, ciclos traiçoeiros, tuning de thresholds que corta latência 20-50%!
Exemplos reais, benchmarks e gc.collect() na prática. Evite OOMs em prod AGORA! 💾🔥
#Python #GarbageCollector #CPython #Memoria #DevOps #FastAPI