www.wikidata.uk-ua.nina.az
PyPy realizaciya movi programuvannya Python interpretator ta JIT kompilyator napisani na movi Python vikoristovuyetsya statichno tipizovana pidmnozhina RPython Restricted Python Proekt maye za metu shvidkodiyu efektivnist ta 100 sumisnist z klasichnoyu realizaciyeyu Python na movi Si CPython PyPyTip interpretator ta kompilyator yak nabir instrumentiv PythonStabilnij vipusk 5 9 5 zhovtnya 2017 6 rokiv tomu 2017 10 05 Operacijna sistema kros platformovijMova programuvannya PythonStan rozrobki aktivnijLicenziya MIT LicenseRepozitorij foss heptapod net pypy pypyVebsajt pypy orgZavdyaki zaluchennyu JIT kompilyatora kotrij na lotu translyuye deyaki elementi v mashinnij kod PyPy pri vikonanni deyakih operacij v kilka raziv obganyaye u produktivnosti originalnij interpretator CPython Cinoyu visokoyi produktivnosti ta vikoristannya JIT kompilyaciyi ye bilshe spozhivannya pam yati zagalne spozhivannya pam yati v skladnih i trivalo pracyuyuchih procesah napriklad pri translyaciyi PyPy silami samogo PyPy perevishuye spozhivannya CPython v pivtora dva razi Zmist 1 Istoriya proektu 2 Cili proektu 3 Translyaciya 3 1 RPython 4 PyPy yak zasib realizaciyi interpretatoriv 5 Pidtrimuvani bekendi 6 Sumisnist z CPython 7 Vinoski 8 Literatura 9 PosilannyaIstoriya proektu red PyPy ye prodovzhennyam proektu Psyco JIT kompilyatora dlya Python rozroblenogo Arminom Rigo Armin Rigo Meta PyPy v tomu shob mati JIT kompilyator z ohoplennyam yake ne bulo dostupne dlya Psyco PyPy pochavsya yak doslidnickij proekt dlya rozrobnikiv Zrila stadiya rozvitku i oficijna versiya 1 0 bula dosyagnuta v seredini 2007 roku nastupnij akcent buv zroblenij na vipusku production ready versiyi z bilshoyu sumisnistyu z CPython Versiyu 1 1 bula vipusheno 28 kvitnya 2009 roku U berezni 2010 roku vijshla versiya 1 2 v yakij osoblivu uvagu bulo pridileno shvidkosti Cya versiya vklyuchaye v sebe JIT kompilyator yakij pracyuye ale ne rekomendovanij dlya vikoristannya v production 26 listopada 2010 bula vipushena versiya 1 4 Cya versiya vpershe v rezhimi JIT kompilyatora po shvidkosti perevershuye CPython 1 Takozh rozrobniki vvazhayut sho cya versiya gotova dlya vikoristannya v production 2 U chervni 2014 vijshla persha 3 stabilna versiya z pidtrimkoyu Python 3 gilka PyPy3 rozvivayetsya sinhronno z PyPy i vidriznyayetsya pidtrimkoyu Python 3 Cili proektu red PyPy buv zadumanij yak realizaciya Python napisana na Python Toj fakt sho PyPy realizovanij na movi visokogo rivnya robit jogo gnuchkishim i dozvolyaye legshe eksperimentuvati z novimi mozhlivostyami nizh CPython i legko viznachiti oblasti de vin mozhe buti polipshenij PyPy poklikanij zabezpechiti yedinij mehanizm translyaciyi Vin pidtrimuye frejmvork dlya realizaciyi dinamichnih mov programuvannya i zdijsnyuye chitkij podil mizh specifikaciyeyu movi ta yiyi realizaciyeyu Vin takozh poklikanij zabezpechiti sumisnist gnuchkist i shvidkist realizaciyi movi programuvannya Python i dozvolyaye realizovuvati novi mozhlivosti bez neobhidnosti programuvannya na movi nizkogo rivnya 4 Translyaciya red PyPy skladayetsya z standartnogo interpretatora i translyatora Interpretator povnistyu realizuye movu Python vikoristovuyuchi obmezhenu pidmnozhinu movi zvanu RPython Restricted Python Na vidminu vid standartnogo Python RPython ye statichno tipizovanim dlya efektivnishoyi kompilyaciyi 5 Translyator ye naborom instrumentiv yakij analizuye kod RPython i perevodit jogo v movi nizhchogo rivnya taki yak C bajt kod Java abo CIL Vin takozh pidtrimuye spilni zbirachi smittya i dozvolyaye opcionalno vklyuchati Stackless Takozh vin vklyuchaye JIT kompilyator dlya translyaciyi kodu v mashinni instrukciyi pid chas vikonannya programi RPython red Sam interpretator PyPy napisanij u obmezhenij pidmnozhini Python pid nazvoyu RPython obmezhenij Python RPython nakladaye deyaki obmezhennya na movu Python tak sho tip zminnoyi mozhna viznachiti pid chas kompilyaciyi 6 7 Proekt PyPy rozrobiv lancyuzhok instrumentiv yakij analizuye kod RPython i peretvoryuye jogo u formu bajtovogo kodu yakij mozhna opustiti v C Ranishe krim C isnuvali inshi bekendi Java CSharp ta Javascript ale ti sho postrazhdali vid bitrotiv i buli vidaleni Takim chinom rekursivnij logotip PyPy ce zmiya yaka kovtaye sebe oskilki RPython perekladayetsya interpretatorom Python Kod takozh mozhna zapuskati v neperekladenomu viglyadi dlya testuvannya ta analizu sho zabezpechuye horoshij testovij majdanchik dlya doslidzhennya dinamichnih mov Vin dozvolyaye pidklyuchati zbirachi smittya a takozh dodatkovo vklyuchati funkciyi Stackless Python Nareshti vin vklyuchaye generator JIT just in time yakij vbudovuye kompilyator just in time v interpretator z oglyadu na kilka anotacij u vihidnomu kodi interpretatora Zgenerovanij kompilyator JIT ye trasuvannyam JIT 8 Teper RPython takozh vikoristovuyetsya dlya napisannya ne Python movnih realizacij takih yak Pixie 9 PyPy yak zasib realizaciyi interpretatoriv red Kompilyator movi RPython mozhna vikoristovuvati i dlya napisannya interpretatoriv z inshih mov programuvannya Dodavshi v kod takogo interpretatora import klasu JitDriver i stvorennya jogo primirnik a potim peredavshi v cej klas spiski globalnih zminnih zminnih i nezminnih v hodi vikonannya programi a takozh zrobivshi she kilka ochevidnih deklaracij mi pislya translyaciyi z praporcem opt jit otrimuyemo pracyuyuchij JIT kompilyator movi 10 Pidtrimuvani bekendi red C translyaciya kodu RPython v C i zapusk yak ridnoyi programi ce standartnij rezhim roboti CIL Common Intermediate Language JVM virtualna mashina Java Python translyator PyPy takozh mozhe buti zapushenij v interpretatori Python hocha shvidkist roboti bude vkraj nizkoyu cya mozhlivist korisna dlya znevadzhennya Stanom na 2010 PyPy vidmovivsya vid JavaScript yak bekendu 11 Sumisnist z CPython red Versiya 1 4 sumisna z versiyeyu Python 2 5 i mozhe pracyuvati na 32 h i 64 h bitnih platformah PyPy povnistyu pidtrimuye moduli napisani na chistomu Python Dlya vikoristannya binarnih so i pyd rozshiren PyPy maye pochatkovu pidtrimku API CPython u viglyadi okremogo modulya cpyext Dlya normalnoyi roboti cih rozshiren potribno yih perekompilyaciya 12 Vidomo sho taki biblioteki i frejmvorki mozhut pracyuvati v PyPy 12 ctypes django bazi danih ne pidtrimuyutsya za vinyatkom sqlite twisted bez pidtrimki SSL pylons nevow en pygletVinoski red PyPy Speed Center Comparison Arhiv originalu za 2 kvitnya 2012 Procitovano 11 lyutogo 2012 PyPy Status Blog PyPy 1 4 Ouroboros in practice Arhiv originalu za 9 bereznya 2012 Procitovano 11 lyutogo 2012 Pervyj stabilnyj vypusk PyPy3 s podderzhkoj Python 3 Arhivovano 23 chervnya 2014 u Wayback Machine opennet ru 21 06 2014 Samuele Pedroni March 2007 PyPy Goals and Architecture Overview Arhiv originalu za 30 chervnya 2012 Procitovano 11 lyutogo 2012 It is a proper subset of Python restricted in a way that enables easy analysis and efficient code generation Ancona et al 2007 Cory Althoff 2016 The Self Taught Programmer The Definitive Guide to Programming Professionally Triangle Connection Arhiv originalu za 6 veresnya 2021 Procitovano 21 veresnya 2021 It is a proper subset of Python restricted in a way that enables easy analysis and efficient code generation Ancona et al 2007 Bolz Carl Cuni Antonio Fijalkowski Maciej Rigo Armin Tracing the Meta Level PyPy s Tracing JIT Compiler ICOOOLPS 09 doi 10 1145 1565824 1565827 Timothy Balridge interview Arhivovano 3 bereznya 2016 u Wayback Machine Andrew Brown Tutorial Writing an Interpreter with PyPy Part 1 Arhivovano 3 bereznya 2012 u Wayback Machine Part 2 Adding a JIT Arhivovano 3 bereznya 2012 u Wayback Machine Kerivnictvo pishemo interpretator z JIT na PyPy pereklad Arhivovano 8 lyutogo 2012 u Wayback Machine Repozitorij sircevogo kodu Arhivovano 26 sichnya 2012 u Wayback Machine U statti opisuyetsya realizaciya Brainfuck na RPython https web archive org web 20121009143354 http www mail archive com pypy dev codespeak net msg03946 html Arhivovano9 zhovtnya 2012 u Wayback Machine Re pypy dev pypy appears to have entirely removed all mention of javascript a b PyPy Python compatibility Arhiv originalu za 7 chervnya 2021 Procitovano 11 lyutogo 2012 Literatura red Davide Ancona Massimo Ancona Antonio Cuni Nicholas D Matsakis 2007 RPython a Step Towards Reconciling Dynamically and Statically Typed OO Languages nedostupne posilannya z lyutogo 2019 In Proc Dynamic Language Symposium DLS 2007 ACM Press Carl Friedrich Bolz Antonio Cuni Maciej Fijalkowski 2009 Tracing the meta level PyPy s Tracing JIT Compiler In Proc ICOOOLPS 2009 ACM Press Corbet Jonathan 19 travnya 2010 PyPy the other new compiler project LWN net Arhiv originalu za 26 travnya 2012 Procitovano 11 lyutogo 2012 Corbet Jonathan 11 travnya 2011 A brief experiment with PyPy LWN net Arhiv originalu za 26 travnya 2012 Procitovano 11 lyutogo 2012 von Eitzen Chris 21 listopada 2011 PyPy 1 7 widens the performance sweet spot The H Heinz Heise Arhiv originalu za 17 lyutogo 2018 Procitovano 11 lyutogo 2012 Rose John 2 grudnya 2011 A Day with PyPy Oracle Corporation Arhiv originalu za 26 travnya 2012 Procitovano 11 lyutogo 2012 Gaynor Alex 12 serpnya 2011 Quora is now running on PyPy Quora Arhiv originalu za 26 travnya 2012 Procitovano 11 lyutogo 2012 Posilannya red Oficijnij sajt PyPy na Launchpad Official status blog Arhivovano 11 lyutogo 2012 u Wayback Machine PyPy nightly benchmark run Arhivovano 1 chervnya 2020 u Wayback Machine Python in Python The PyPy System Arhivovano 11 travnya 2011 u Wayback Machine technical talk by the designer of PyPy video archive Otrimano z https uk wikipedia org w index php title PyPy amp oldid 37356613