Cython+ (2020 2022)¶
#moc
Main info¶
- Website: https://cython.plus
- PyPI page: https://pypi.org/project/cython-plus/
- Repository: https://lab.nexedi.com/nexedi/cython
- Our repository: https://github.com/abilian/cythonplus-sandbox
- Articles: https://github.com/abilian/cythonplus-articles
Deliverables¶
Serveur web à livrer:
- [[Use cases]]
- State of the Art - Web server
Autres travaux:
Sujets connexes:
- Python & WASM
- [[Cython+ - Idées connexes et notes diverses]]
Notes de réunions¶
- [[Réunion du 2021-07-06]]
- Log: https://notes.inria.fr/p6Z8ZcoIQ0GXTB7XCyf3UQ?view
- Notes: https://notes.inria.fr/e8gfAKhTQiaSSExMYGLSuw?view
Notes perso¶
Folder chez moi: ~/Cython+
Clone clean: ~/Cython+/cythonplus-nexedi
Liens en vrac¶
- https://mail.python.org/archives/list/python-dev@python.org/thread/ABR2L6BENNA6UPSPKV474HCS4LWT26GY/#ABR2L6BENNA6UPSPKV474HCS4LWT26GY “Python multithreading without the GIL”
- https://docs.google.com/document/d/18CXhDb1ygxg-YXNBJNzfzZsDFosB5e6BfnXLlejd9l0/edit -> Same
(Old) Narrative¶
The Cython+ project is not just another incremental step in the world of programming; it’s an ambitious undertaking that aims to meld the best of two worlds—Python’s versatility and Go’s highly efficient concurrency model. It’s not just about improving Python; it’s about fortifying its position against rising competitors like Google’s Go language. By incorporating the multi-core concurrent programming model from Go into Python, Cython+ aspires to create a version of Python that’s not just efficient and energy-conserving, but also capable of true parallel execution.
Imagine a Python language that can fully utilize all the cores of a microprocessor in systems or network programming. That’s precisely the deficiency that Cython+ aims to address. It does so by building on Cython—a superset of Python already celebrated for its performance on par with C and its low-level parallelism. It’s the tool behind libraries like scikit-learn and components of the NEO transactional distributed database.
But Cython+ is not just Cython; it aims to be much more. The project leverages three decades of French expertise in the arena of concurrent object programming, particularly the Actalk model, to bring the powerful multi-core concurrency of Go into Python. This is a strategic move, considering Python’s current limitations with the Global Interpreter Lock (GIL), which restricts Python’s multi-core capabilities.
In a masterstroke, the Cython+ project intends to lift the GIL but in a way that preserves the integrity of existing Python programs. The removal will be restricted to specific asynchronous Cython functions that do not call Python objects. This careful strategy ensures compatibility with the existing Python ecosystem, so developers don’t have to worry about breaking changes. Cython+ is setting out to offer a concurrency model even more robust than Go’s, alongside a richer standard library and a broader community backing—features that make Python the beloved language it is.
The project doesn’t just stop at performance and concurrency. It aims for energy efficiency and plans to launch a new open-source compiler editor. These aspects will solidify Python’s strategic position, strengthen its already vast European ecosystem, and offer a viable, even superior, alternative to Go. Cython+ isn’t just tinkering with Python; it’s about transforming it to meet the challenges of the modern computational world without sacrificing what makes Python great.
Cython+ is not just a technical evolution; it’s a strategic one. It seeks to safeguard Python’s dominant market position and ensure that Python remains the first choice for developers across a multitude of applications. With Cython+, Python isn’t just surviving; it’s thriving and evolving, ready to meet the future head-on.
#concurrency #python #multithreading
Page last modified: 2024-11-13 14:01:29