Cython sprawia, że pisanie rozszerzeń C dla Pythona jest tak proste, jak sam Python!

Język Cython jest nadzbiorem języka Python, który dodatkowo obsługuje wywoływanie funkcji C i deklarowanie typów C na zmiennych i atrybutach klas. Dzięki temu kompilator może wygenerować bardzo wydajny kod C z kodu Cythona. Wygenerowany kod C jest następnie kompilowany przy pomocy jednego z dostępnych kompilatorów C/C++ do zoptymalizowanego modułu, który może zostać zaimportowany i użyty przez program napisany w Pythonie.

W skrócie Cython to Python ale z typami danych C - co pozwala mu być jednym z najlepszych i najprostszych narzędzi do przyspieszania programów napisanych w Pythonie!

Przykładowo w Cythonie napisane są moduły Pythona znane ze swojej szybkości jak:


Oficjalny poradnik jak zacząć z Cythonem można zaleźć pod adresem: https://cython.readthedocs.io/en/latest/src/tutorial/cython_tutorial.html

#technologia #programowanie #python #cython
dc103c9b-f99d-48d3-b674-ba7bc1d19ec4
koszotorobur

@rust-n-dust - dzięki za podzielenie się informacją!

Cython dostał w ostatnim roku dużo miłości i po latach pracy udało się wreszcie wydać wersję 3.0.0 (obecnie jest 3.0.6) - mam nadzieję, że to jest dobry znak i uda się zachować kompatybilność nawet po dużych zmianach w nowych wersjach Pythona.

Tak jako ciekawostkę polecam też sprawdzić mypyc , który jest częścią projektu mypy.

Ja po cichu liczę, że kiedyś dostaniemy w pełni typowanego, kompilowalnego Pythona

Teraz sexy jest Rust + Python, czyli PyO3.

Tak PyO3 jest sexy i zachęcam każdego do spróbowania...

...niemniej w korpo:


  1. Wprowadzanie nowego języka by stał się zaakceptowaną technologią wymaga przekonania sporej ilości ludzi i przejścia procesów obarczonych papierkologią - co zabiera dużo czasu i mnóstwo energii. Wielu ludzi, którzy nie musieli pracować w takich warunkach nie rozumie, że nie można sobie ot tak ściągnąć z internetu i używać.

  2. Cython jest częścią ekosystemu Pythona i można go ściągną jako moduł używając instalatora pakietów takiego jak pip - oznacza to, że można go pobrać z oficjalnego serwera PyPi (lub dodać paczkę do wewnętrznego) o wiele mniejszym nakładem pracy niż wprowadzenie nowego języka/technologi i związanych z tym procesów. Do tego kompilator jest zazwyczaj w repozytoriach gotowy do zainstalowania (takich jak Satelite dla RHEL) - jeśli go nie ma już zainstalowanego na maszynie developera. Powoduje to, że Cython może być ścieżką najmniejszego oporu, jeśli chcemy przyspieszyć działanie naszej Pythonowej aplikacji w korpo.

slime-mold

@koszotorobur @rust-n-dust dzięki! dobry kontent

Zaloguj się aby komentować