Blog IT, Blog Marketing

Pyston

Pyston

Marcin Sarna , 03.09.2021 r.

Anaconda pracuje nad szybszym Pythonem.

Szybszy o 30%

Python jest dziś oczywistym wyborem wśród języków programowania dla projektów data science i uczenia maszynowego, zwłaszcza prowadzonych na sprzęcie o dużej mocy obliczeniowej. Ale jedną z jego słabości jest szybkość. Anaconda, firma dostarczająca dystrybucję Pythona przeznaczoną specjalne do zastosowań data science, chce to zmienić. Wspiera więc Pystona - nową implementację Pythona, która w myśl zasady „coś za coś” rezygnuje z funkcji debugowania na rzecz szybkości.

Pyston, stworzony przez Kevina Modzelewskiego, został udostępniony w maju z obietnicą przyspieszenia wykonywania kodu Pythona o 30%. Modzelewski był inżynierem w firmie Dropbox, która była głównym użytkownikiem Pythona. To Dropbox zatrudnił twórcę Pythona, Guido van Rossuma, na pięć lat od 2013 roku, aby ulepszyć kod swojej usługi.

Pochodzi od CPythona i ma już w zasadzie 5 lat

Anaconda zatrudniła Kevina Modzelewskiego i Mariusza Wachtlera aby ci budowali społeczność użytkowników, współpracowników i opiekunów projektu w celu zapewnienia jego długoterminowej stabilności. Anaconda twierdzi, że ma ponad 25 milionów użytkowników a – jak to ujął Modzelewski – wsparcie ze strony Anacondy pozwoli nam na oddanie Pystona w ręce większej liczby użytkowników szybciej niż kiedykolwiek wcześniej.

Według Anacondy Pyston wykonuje programy średnio o 20% do 50% szybciej niż standardowy Python. Ta implementacja Pythona została opracowana przez Dropbox w latach 2014-2017. Została uruchomiona jako nowy projekt w 2020 roku jako Pyston v2.

Pyston, który wywodzi się z oficjalnego CPythona od Python Software Foundation, pozostanie projektem open-source. Wskutek opieki ze strony Anacondy projekt ma się jednak skupić na poprawie kompatybilności z pakietami Pythona bo to przecież pakiety pomogły uczynić go dominującym w nauce o danych i uczeniu maszynowym. Pyston powinien także doprowadzić do wprowadzenia Pythona na nowe platformy sprzętowe. Anaconda w blogu opisującym jej plan stania się akceleratorem dla wszystkich aplikacji Pythona, oświadcza tak:

Nowa seria Pyston 2.x to kompletne przepisanie bazy kodowej od podstaw, zaczynając od sforkowania CPython 3.8.

GUI w Pythonie? Czyli o usuwaniu bolączek tego języka

Podczas gdy Python jest niekwestionowanym liderem w przypadku aplikacji uczenia maszynowego działających na „poważnym” sprzęcie, nie miał do tej pory zbyt wiele do zaoferowania w zdominowanych przez JavaScript aplikacjach webowych i mobilnych. Współzałożyciel Anacondy, Peter Wang, zauważył niedawno, że używanie Pythona do budowania i rozpowszechniania jakichkolwiek aplikacji, które mają graficzne interfejsy użytkownika, jest niewiarygodnie niewygodne.

Na desktopach Python nigdy nie błyszczał i musi uciekać się do frameworków firm trzecich, takich jak Qt czy wxPython.

Oprócz nauki o danych, mocną stroną Pythona jest łączenie systemów backendowych. A van Rossum, który jest obecnie zatrudniony w Microsofcie, stara się uczynić Pythona dwa razy szybszym w wersji 3.11 - jednej z trzech gałęzi Pythona planowanych na 2022 rok. Najnowszą stabilną wersją Pythona jest obecnie wersja 3.9.7.

Pyston

Anaconda już wcześniej była zaangażowana w projekty związane z optymalizacją, skalowalnością i wydajnością Pythona. Jednym z najstarszych projektów Anacondy o otwartym kodzie źródłowym jest kompilator Numba, oparty na LLVM kompilator JIT dla numerycznych funkcji Pythona działających na CPU lub GPU. W związku z tym w Anacondzie myślą nad zintensyfikowaniem prac nad kompilatorami Pythona, dążąc do wprowadzenia takiego „szybszego Pythona” do stosowania przez szersze grono odbiorców. Według Anacondy:

Numba bardzo dobrze radzi sobie z wieloma zastosowaniami numerycznymi, ale nie jest w stanie zoptymalizować całych programów i nie odnosi się do szerszego świata zastosowań Pythona. Pyston podchodzi do problemu kompilacji Pythona z innej strony. Mimo to, wspólny rodowód z interpreterem CPython oznacza, że Numba „po prostu działa” z nim, a oba systemy mogą być używane w tandemie w tym samym programie. Numba może przyspieszyć działanie poszczególnych funkcji o 2-10 razy a Pyston może poprawić wydajność całej reszty.

Anaconda uważa również, że ulepszenia Pyston mogą być upstreamowane do CPython i współgrają z planami van Rossuma o generalnym przyśpieszeniu Pythona.

Najnowsze oferty pracy:

Polecane wpisy na blogu IT:

Szukasz pracownika IT?

Dostarczymy Ci najlepszych specjalistów z branży IT. Wyślij zapytanie

Wyrażam zgodę TeamQuest Sp. z o.o. na przetwarzanie moich danych osobowych w celu marketingu produktów i usług własnych TeamQuest, w tym na kontaktowanie się ze mną w formie połączenia telefonicznego lub środkami elektronicznymi.
Administratorem podanych przez Ciebie danych osobowych jest TeamQuest Sp. z o.o., z siedzibą w Warszawie (00-814), ul. Miedziana 3a/21, zwana dalej „Administratorem".
Jeśli masz jakiekolwiek pytania odnośnie przetwarzania przez nas Twoich danych, skontaktuj się z naszym Inspektorem Ochrony Danych (IOD). Do Twojej dyspozycji jest pod adresem e-mail: office@teamquest.pl.
W jakim celu i na jakiej podstawie będziemy wykorzystywać Twoje dane? Dowiedz się więcej