Ciekawostki

Python nie będzie już pełzać. Będzie pędzić

przeczytasz w 1 min.

Nie jest tajemnicą, że Python musi przyspieszyć, jeśli ma odgrywać jeszcze większą rolę. Okazuje się, że faktycznie jest taki plan.

Python to język o wielu atutach, ale szybkość nie jest jednym z nich. W przyszłości ma się to zmienić, a nad wszystkim czuwa sam Guido van Rossum, a więc człowiek, który 30 lat temu stworzył Pythona. Aktualnie pracuje jako inżynier w szeregach Microsoftu, gdzie ma do pomocy wielu innych weteranów – są nimi między innymi Brett Cannon, Steve Dower, Eric Snow i Barry Warsaw. 

Python będzie dwa razy szybszy

Wykorzystując do tego GitHuba, van Rossum zapowiedział, że cel jest następujący: Python 3.11 będzie dwa razy szybszy niż ma to miejsce obecnie. Przyznaje wprawdzie, że nie jest pewny, czy uda się to osiągnąć, ale nastawienie ma jak najbardziej optymistyczne. 

Na opracowanie i wdrożenie zmian ekipa van Rossuma ma trochę czasu. Wydanie Pythona 3.11 planowane jest wszak dopiero na przyszły rok. Równocześnie zadanie jest bardzo ambitne, ponieważ wszelkie rozwiązania mają być stworzone w taki sposób, by nie zakłócać ABI środowiska wykonawczego, dzięki czemu rozszerzenia napisane w języku C nadal będą kompatybilne. Zmiany muszą również mieć otwarty kod i zachować prostotę, z jakiej słynie Python.

Co więc może się zmienić? 

Modyfikacji najpewniej doczekają się: system kodu bajtowego, kompilator i interpreter. Wśród sugestii dotyczących poprawy wydajności wymienia się między innymi optymalizację stosu ramek, zmianę sposobu wywoływania funkcji czy szybszą obsługę wyjątków. 

Źródło: InfoWorld, The Register, ZDNet

Komentarze

6
Zaloguj się, aby skomentować
avatar
Komentowanie dostępne jest tylko dla zarejestrowanych użytkowników serwisu.
  • avatar
    Abgan
    4
    Narzut na wywołanie funkcji i na sięganie do nielokalnego scope mogliby poprawić, bo to czasem smutne, jak ludzie przypisują globalne zmienne do lokalnych, żeby przyspieszyć jakąś pętlę korzystającą z globali, która kręci pół miliona iteracji albo i więcej.

    Ogólnie dobrze, że koncentrują się na wydajności, ale... kto potrzebuje wydajności - ten nie używa Pythona :-) Albo używa go tylko do sklejenia ze sobą różnych innych kawałków oprogramowania. Używam zawodowo Pythona od wersji 2.4, albo inaczej - od ok. 15 lat i już od dawna nie miałem problemu z wydajnością samego interpetera. Jak coś jest CPU-bound, to napisz w C, dodaj wrapper Cython i wywołaj z Pythona :-) I już nie masz problemu z wydajnością CPython. Do AI/ML i ogólnej numeryki są genialne biblioteki z rozszerzeniami w C++, które w trywialny sposób pozwalają Ci obrabiać wielkie macierze, czy nawet trenować modele na GPU, o wszystkich wątkach CPU nie wspominając.

    Z drugiej strony są jakieś silniki do tworzenia gier w Pythonie - ich użytkownicy na pewno się ucieszą, że dostaną taki bonus wydajności od BDFL i innych weteranów.
    • avatar
      gromzjasnegonieba
      2
      Mojego pythona nie trzeba przyspieszac, a jak wykonuje petle to niewiasty sa w niebo wziete. Interpretera tez nie potrzebuje, kazda go rozumie.
      • avatar
        hegazi
        -5
        Python to chłam.
        • avatar
          xmexme
          0
          Microsoft i szybkość? nie liczył bym na to.