Cython
Więcej informacji
- Typ
- Kompilator / rozszerzenie języka
- Rok
- 2007
- Twórca
- Robert Bradshaw, Stefan Behnel i inni
- Licencja
- Apache 2.0
- Poprzednik
- Pyrex
Piszesz niemal zwykły Python, dodajesz deklaracje typów w pięciu linijkach będących wąskim gardłem i kompilujesz całość do C.
Zaczęło się w 2007 roku jako fork Pyrexa Grega Ewinga, napędzany potrzebami systemu matematycznego Sage. Kod źródłowy jest tłumaczony na C i budowany jako zwykły moduł rozszerzenia Pythona, więc reszta programu niczego nie zauważa. Pętla z cdef int i omija całą warstwę obiektową i często działa sto razy szybciej.
Drugie zastosowanie jest równie ważne: Cython to wygodny sposób opakowywania istniejących bibliotek C i C++ bez ręcznego pisania kleju do API CPythona. NumPy, pandas, scikit-learn i spaCy mają Cythona w najgorętszych ścieżkach kodu. Blok nogil dodatkowo zwalnia GIL, dzięki czemu wątki mogą naprawdę działać równolegle.