Cython łączy dwa światy

Oficjalna strona Stowarzyszenia Polska Grupa Użytkowników Pythona

Częstym zarzutem, który pada pod adresem Pythona (CPython) jest jego niska wydajność. Krytycy nie szczędzą złośliwych komentarzy, iż wina leży po stronie samej technologii. Wielu programistów tworząc algorytmy zaniedbuje jednak podstawowe kanony "klepania" kodu źródłowego w Pythonie. Zniechęceni jego niewystarczająco szybkim działaniem decydują się na języki "niższego poziomu". Nie zastąpi to jednak pokornej pracy nad optymalizacją własnego produktu. Gdy mimo wielu wysiłków i to zawodzi, warto sięgnąć po kompromis.

Cython

Całkiem niedawno na łamach vortalu PPCG opisywane były rozwiązania dotyczące "przyśpieszania" Pythona: interpreter PyPy, eksperymentalny kompilator Shed Skin. Kolejną alternatywą jest język programowania Cython. Oparty na projekcie Pyrex, stanowi nadzbiór Pythona, wzbogacony o dodatkową składnię. Umożliwia deklarację typów zmiennych, atrybutów klas oraz wywoływanie funkcji języka C. Dzięki temu kompilator generuje wydajny kod C, co sprawia, że Cython staje się idealny do tworzenia zewnętrznych rozszerzeń Pythona. Pozwala to zarówno na bardzo szybkie wykonanie (pod)programu jak i ścisłą integrację z dodatkowymi bibliotekami C. Ciekawostką jest również to, że Cython umożliwia tworzenie binariów wykonywalnych EXE, o zdecydowanie mniejszym rozmiarze pliku wynikowego niż robią to py2exe, cx_freeze czy PyInstaller. Cython dostępny jest w ramach licencji Apache License v2.0 na platformy Linux, Mac OS X i Windows.

Wczorajszego wieczoru miało miejsce wydanie Cython 0.15, ostatnie wspierające Pythona 2.3. Spośród setek poprawionych błędów i naniesionych optymalizacji warto wyszczególnić następujące zmiany:

  • pełne wsparcie dla generatorów i PEP 342,
  • support dla obliczeń równoległych poprzez moduł cython.parallel,
  • słowo kluczowe with z własną, szybszą implementacją w C,
  • obsługa dla wyrażenia del,
  • aktualizacja i rozszerzenie plików biblioteki standardowej *.pxd,
  • niezainicjowane zmienne z zastosowaniem semantyki Pythona.

Szczegóły tego wydania: ReleaseNotes-0.15

Więcej informacji: cython.org

Dodał: Piotr Tynecki, Kategorie: News
Data: 2011-08-07 00:37:49

Jako uzupełnienie powyższego newsa, niech posłuży Wam tegoroczne wystąpienie jednego z lead developerów Cythona, Roberta Bradshaw na Sage Days:

Zobacz wideo: Cython: Past, Present, and Future
Prezentacja PDF: pobierz

Data: 2011-08-07 03:00:18
TQ-M2-RK-F4

Wczorajszego wieczoru wydano pierwszy bugfix o numerze 0.15.1:

Więcej informacji: wiki.cython.org

Data: 2011-09-20 17:15:09


Copyright © 2007-2014 by Polish Python Coders Group
Język programowania Python  Open Source

Powered by Pigmej CMSv.0.2
Hosted by DmTEC