Piston 2 JIT компилятору менен Pythonду ишке ашыруу

Өнүгүүдөгү үч жылдык тыныгуудан кийин, Piston 2 долбоорунун башталышы жарыяланды, мен эмнени иштеп чыктымPython тилин жогорку деңгээлде ишке ашырууга LLVM долбоорунун иштеп чыгууларын колдонуп.

Ишке ашыруу заманбап JIT компиляция технологияларын колдонуу менен айырмаланат жана C ++ сыяктуу салттуу тутумдук тилдерге окшош жогорку көрсөткүчтөргө жетишүүнү көздөйт.

Мурунку котормолордогу код Пистон тарабынан Apache лицензиясынын негизинде таратылган, бирок Pyston 2 коду азырынча жеткиликтүү эмес жана Ubuntu 18.04 жана 20.04 үчүн колдонууга даяр курулмалар гана чыгарылган (коду бар файл жүктөлүп алынат, бирок долбоор дагы эле жабык экендиги жөнүндө гана маалымат бар) .

Кодду жарыялоо - бул иштеп чыгуучулардын пландарынын бир бөлүгүбирок бул аткарылат бизнес моделин түзүү аяктагандан кийин жаңы компаниянын өкүлү жана Dropbox каржылык колдоосусуз Pyston иштеп чыгууну улантуу чечими кабыл алынды.

Piston 2 жөнүндө

Мурунку версиялардан айырмаланып, Piston 2 туруктуу деп белгиленди жана сынамык версия катары эмес. Өндүрүмдүүлүктү оптималдаштыруу боюнча көп жумуштар жасалды жана Pyton 2 азыр Python 3.8ге салыштырмалуу тезирээк, python-macrobenchmarks тест-пакетинен өткөндө 20% га жакын.

Эң көрүнүктүү натыйжаларга ээ болгон веб-тиркемелердин иш жүктөмдөрүндө байкалат. Chaos.py жана nbody.py сыяктуу өзүнчө тесттерде, Piston 2 Python 3.8ден 2 эсе ашып түшөт, JITти колдонуу наркы эс тутумун бир аз көбөйтөт.

Python программалоо тилин тезирээк жана жогорку деңгээлде шайкештиги менен ишке ашырган Pyston v2ди чыгарганыбызга абдан кубанычтабыз. 2-версия биздин макробелгилердеги Python 20 стандартына караганда 3.8% га тезирээк. Андан да маанилүүсү, бул сиздин кодуңузда тезирээк болушу мүмкүн. Pyston v2 сервердин чыгымдарын азайтып, колдонуучунун күтүү убакытын азайтып, иштеп чыгуучунун өндүрүмдүүлүгүн жогорулатат.

Pyston v2 программасын ишке ашыруу оңой, андыктан Python'дун жакшыраак өндүрүмдүүлүгүн издесеңиз, анда беш мүнөт убакыт бөлүп, Pyston'ду сынап көрүүнү сунуштайбыз. Муну жасоо - долбоорду тездетүүнүн эң оңой жолдорунун бири.

Шайкештиги жагынан жергиликтүү Python менен, Piston долбоору CPython үчүн эң ылайыктуу альтернатива жүзөгө ашырылышы деп жарыяланган, анткени Пистон негизги CPython код базасынын айрысы.

Пистон бардык CPython функцияларын колдойт, анын ичинде C кеңейтүүлөрүн иштеп чыгуу үчүн C API.Пистон алгач Dropbox тарабынан иштелип чыккан, ал 2017-жылы ички өнүгүүнү токтотууну чечкен. 2020-жылдын башында Пистондун мыкты иштеп чыгуучулары өз компаниясын түптөшүп, долбоорду толугу менен кайрадан ойлоп табышып, Пистондо туруктуу иштей башташты.

Pyston 2 толтуруу боюнча техникалык маалыматтар азырынча бериле элек, болгону DynASM JIT, кэштелген кэштөө жана жалпы CPython оптимизациясы жөнүндө сөз болот. Пистондун мурунку версиясында азыркы JavaScript кыймылдаткычтарындагы JITке окшоп, бир эле учурда JIT ыкмасы колдонулган.

JITте Python коду талданып, которулган аралык өкүлчүлүккө LLVM (IR, аралык өкүлчүлүк). Мындан тышкары, IR чагылдырылышы LLVM оптимизаторунда иштетилип, LLVM JIT кыймылдаткычына өткөрүлүп берилген, ал IR сүрөттөлүшүн машина кодуна айландырган.

Динамикалык Python тилиндеги программалар үчүн өзгөрмөлөрдүн түрлөрү жөнүндө маалымат алуу үчүн объект түрлөрүн ыктымалдык божомолдоо ыкмасы колдонулуп, андан кийин аткаруу учурунда түрдүн туура тандалышы такталып алынган.

Демек, Пистон эки бутактын ортосундагы аткарууну дайыма өзгөрүп турган: тез, алдын-ала божомолдор ырасталганда жана жай, ал эми түрү дал келбесе колдонулат.

Жумушту көп тармактуу режимде жасоого болот, Python тилинде жана глобалдык котормочу кулпусунан (GIL) бошогон бир нече код тилкелерин параллель аткарууга мүмкүндүк берет.

акырында ал жөнүндө көбүрөөк билгиңиз келсе, сиз маалыматты текшере аласыз төмөнкү шилтеме.


Макаланын мазмуну биздин принциптерге карманат редакциялык этика. Ката жөнүндө кабарлоо үчүн чыкылдатыңыз бул жерде.

Комментарий биринчи болуп

Комментарий калтырыңыз

Сиздин электрондук почта дареги жарыяланбайт. Милдеттүү талаалар менен белгиленет *

*

*

  1. Маалыматтар үчүн жооптуу: Мигель Анхель Гатан
  2. Маалыматтын максаты: СПАМды көзөмөлдөө, комментарийлерди башкаруу.
  3. Мыйзамдуулук: Сиздин макулдугуңуз
  4. Маалыматтарды берүү: Маалыматтар үчүнчү жактарга юридикалык милдеттенмелерден тышкары билдирилбейт.
  5. Маалыматтарды сактоо: Occentus Networks (ЕС) тарабынан уюштурулган маалыматтар базасы
  6. Укуктар: Каалаган убакта маалыматыңызды чектеп, калыбына келтирип жана жок кыла аласыз.