{"id":104323,"date":"2022-06-09T03:36:45","date_gmt":"2022-06-09T01:36:45","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/predstavlen-pyston-lite-jit-kompilyator-dlya-shtatnogo-python"},"modified":"2022-06-09T03:36:45","modified_gmt":"2022-06-09T01:36:45","slug":"predstavlen-pyston-lite-jit-kompilyator-dlya-shtatnogo-python","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/predstavlen-pyston-lite-jit-kompilyator-dlya-shtatnogo-python","title":{"rendered":"Zosta\u0142 wprowadzony Pyston-lite, JIT-kompilator dla standardowego Pythona","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Deweloperzy projektu Pyston, oferuj\u0105cego wydajn\u0105 implementacj\u0119 j\u0119zyka Python wykorzystuj\u0105c\u0105 nowoczesne technologie kompilacji JIT, przedstawili rozszerzenie Pyston-lite z implementacj\u0105 kompilatora JIT dla CPython. Podczas gdy Pyston jest odga\u0142\u0119zieniem kodu \u017ar\u00f3d\u0142owego CPython i rozwija si\u0119 niezale\u017cnie, Pyston-lite jest zaprojektowany jako uniwersalne rozszerzenie, kt\u00f3re mo\u017cna pod\u0142\u0105czy\u0107 do standardowego interpretera Python (CPython).      <\/p>\n<p>Pyston-lite umo\u017cliwia korzystanie z podstawowych technologii Pyston bez konieczno\u015bci zmiany interpretera, poprzez instalacj\u0119 dodatkowego rozszerzenia za pomoc\u0105 mened\u017cera pakiet\u00f3w PIP lub Conda. Pyston-lite jest ju\u017c dost\u0119pny w repozytoriach PyPI i Conda, a aby go zainstalowa\u0107, wystarczy wykona\u0107 polecenie \u201epip install pyston_lite_autoload\u201d lub \u201econda install pyston_lite_autoload -c pyston\u201d. Oferowane s\u0105 dwa pakiety: pyston_lite (bezpo\u015brednio JIT) oraz pyston_lite_autoload (automatycznie realizuje podmian\u0119 JIT podczas uruchamiania procesu Python). Mo\u017cliwe jest r\u00f3wnie\u017c programowe zarz\u0105dzanie w\u0142\u0105czaniem JIT z poziomu aplikacji bez instalacji modu\u0142u autoload, korzystaj\u0105c z funkcji pyston_lite.enable().        <\/p>\n<p>Mimo \u017ce Pyston-lite nie obejmuje wszystkich optymalizacji dost\u0119pnych w Pyston, jego u\u017cycie pozwala na zwi\u0119kszenie wydajno\u015bci o oko\u0142o 10-25% w por\u00f3wnaniu z standardowym Pythonem 3.8. W przysz\u0142o\u015bci planowane jest przeniesienie wi\u0119kszo\u015bci optymalizacji z Pyston do Pyston-lite oraz zwi\u0119kszenie wspieranych wersji CPython (pierwsza wersja obs\u0142uguje tylko Python 3.8). W bardziej globalnych planach uwzgl\u0119dniona jest wsp\u00f3\u0142praca z zespo\u0142em CPython w celu wprowadzenia nowych API dla JIT, co pozwoli na pe\u0142niejsz\u0105 kontrol\u0119 nad dzia\u0142aniem Pythona. Dyskutowane jest w\u0142\u0105czenie proponowanych zmian do ga\u0142\u0119zi Python 3.12. W idealnym przypadku rozwa\u017cane jest przeniesienie ca\u0142ej funkcjonalno\u015bci z Pyston do rozszerzenia, co pozwoli na rezygnacj\u0119 z utrzymywania w\u0142asnego forka CPython.      <\/p>\n<p>Opr\u00f3cz Pyston-lite, projektem wydano r\u00f3wnie\u017c aktualizacj\u0119 pe\u0142noprawnego pakietu Pyston 2.3.4, w kt\u00f3rym zaproponowano nowe optymalizacje. W te\u015bcie pyperformance wersja 2.3.4 jest o oko\u0142o 6% szybsza od wydania 2.3.3. Ca\u0142kowity zysk wydajno\u015bci w por\u00f3wnaniu z CPython szacowany jest na 66%.    <\/p>\n<p>Dodatkowo warto wspomnie\u0107 o optymalizacjach rozwijanych w ramach cyklu rozwoju CPython 3.11, kt\u00f3re w niekt\u00f3rych testach pozwoli\u0142y na zwi\u0119kszenie wydajno\u015bci o 25%. Na przyk\u0142ad w CPython 3.11 zwi\u0119kszono efektywno\u015b\u0107 buforowania stanu bajtkodu podstawowych modu\u0142\u00f3w, co przyspieszy uruchamianie skrypt\u00f3w o 10-15%. Zdecydowanie przyspieszono wywo\u0142ania funkcji oraz dodano wyspecjalizowane szybkie interpretatory operacji typowych. Prace nad przeniesieniem niekt\u00f3rych optymalizacji, przygotowanych przez projekty Cinder i HotPy, s\u0105 r\u00f3wnie\u017c w toku.      <\/p>\n<p>Dodatkowo w ramach projektu nogil prowadzone s\u0105 prace nad eksperymentalnym trybem kompilacji CPython bez globalnej blokady interpretera (GIL, Global Interpreter Lock), kt\u00f3ra uniemo\u017cliwia r\u00f3wnoleg\u0142y dost\u0119p do wsp\u00f3\u0142dzielonych obiekt\u00f3w z r\u00f3\u017cnych w\u0105tk\u00f3w, co utrudnia r\u00f3wnoleg\u0142e wykonywanie operacji na systemach wielordzeniowych. Jako inny wariant rozwi\u0105zania problemu z GIL rozwijana jest mo\u017cliwo\u015b\u0107 przypisania osobnego GIL do ka\u017cdego interpretera, kt\u00f3ry jest uruchamiany wewn\u0105trz procesu (w jednym procesie mo\u017ce by\u0107 uruchomionych kilka interpreter\u00f3w, ale efektywno\u015b\u0107 ich r\u00f3wnoleg\u0142ego wykonywania jest ograniczona przez GIL).<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57320\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Pyston, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0433\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u044f\u0437\u044b\u043a\u0430 Python, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0443\u044e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 JIT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 Pyston-lite \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 JIT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0434\u043b\u044f CPython. \u0415\u0441\u043b\u0438 Pyston \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0442\u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043e\u0442 \u043a\u043e\u0434\u043e\u0432\u043e\u0439 \u0431\u0430\u0437\u044b CPython \u0438 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u043e\u0441\u043e\u0431\u043b\u0435\u043d\u043d\u043e, \u0442\u043e Pyston-lite \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d \u0432 \u0432\u0438\u0434\u0435 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0448\u0442\u0430\u0442\u043d\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0443 Python (CPython). Pyston-lite \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 Pyston \u0431\u0435\u0437 \u0437\u0430\u043c\u0435\u043d\u044b \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0430, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-104323","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Pyston, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0433\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u044f\u0437\u044b\u043a\u0430 Python, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0443\u044e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 JIT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 Pyston-lite \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 JIT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0434\u043b\u044f.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/news\/predstavlen-pyston-lite-jit-kompilyator-dlya-shtatnogo-python\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d Pyston-lite, JIT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0434\u043b\u044f \u0448\u0442\u0430\u0442\u043d\u043e\u0433\u043e Python | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Pyston, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0433\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u044f\u0437\u044b\u043a\u0430 Python, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0443\u044e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 JIT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 Pyston-lite \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 JIT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0434\u043b\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/predstavlen-pyston-lite-jit-kompilyator-dlya-shtatnogo-python\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-06-09T01:36:45+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-06-09T01:36:45+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Pyston-lite, kompilator JIT dla standardowego Pythona | ProHoster","description":"Programi\u015bci projektu Pyston, oferuj\u0105cego wysokowydajn\u0105 implementacj\u0119 j\u0119zyka Python, wykorzystuj\u0105c\u0105 nowoczesne technologie kompilacji JIT, przedstawili rozszerzenie Pyston-lite z implementacj\u0105 kompilatora JIT dla.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/predstavlen-pyston-lite-jit-kompilyator-dlya-shtatnogo-python","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d Pyston-lite, JIT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0434\u043b\u044f \u0448\u0442\u0430\u0442\u043d\u043e\u0433\u043e Python | ProHoster","og:description":"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Pyston, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0449\u0435\u0433\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u044f\u0437\u044b\u043a\u0430 Python, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0443\u044e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 JIT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 Pyston-lite \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 JIT-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0434\u043b\u044f.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/predstavlen-pyston-lite-jit-kompilyator-dlya-shtatnogo-python","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2022-06-09T01:36:45+00:00","article:modified_time":"2022-06-09T01:36:45+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"104323","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-25 11:40:12","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2022-06-09 01:37:51","updated":"2026-01-25 11:40:12","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/104323","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=104323"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/104323\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=104323"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=104323"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=104323"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}