Pyston 2 реализация на Python с JIT компилатор

След тригодишна пауза в развитие, стартирането на проекта Pyston 2 е публикувано, какво развихдо високопроизводителна реализация на езика Python използвайки разработките на проекта LLVM.

Прилагането се откроява с използването на съвременни JIT компилационни технологии и има за цел да постигне висока производителност, подобна на традиционните системни езици като C ++.

Кодът от предишни версии от Pyston се разпространяваше под лиценза на Apache, но кодът на Pyston 2 все още не е достъпен и за Ubuntu 18.04 и 20.04 са пуснати само готови за използване компилации (файл с кода е достъпен за изтегляне, но има само мъниче с информация, че проектът все още е затворен) .

Публикуването на кода е част от плановете на разработчицитено това ще бъде направено след приключване на формирането на бизнес модел на новата компания и беше решено да продължи развитието на Pyston без финансовата подкрепа на Dropbox.

За Pyston 2

За разлика от предишните версии, Pyston 2 е маркиран като стабилен а не като пробна версия. Много работа е свършена за оптимизиране на производителността и Pyston 2 вече е по-бърз от оригиналния Python 3.8 с около 20% при преминаване на тестовия пакет за python-macrobenchmarks.

Най-забележителните подобрения в производителността се наблюдават в присъщите натоварвания на уеб приложения. В отделни тестове като chaos.py и nbody.py, Pyston 2 превъзхожда Python 3.8 с коефициент 2. Цената на използването на JIT е леко увеличение на консумацията на памет.

Ние сме много развълнувани да пуснем Pyston v2, по-бързо и съвместимо изпълнение на езика за програмиране Python. Версия 2 е с 20% по-бърза от стандартния Python 3.8 в нашите макробенчмарки. По-важното е, че е вероятно по-бързо във вашия код. Pyston v2 може да намали сървърните разходи, да намали латентността на потребителите и да подобри производителността на разработчиците.

Pyston v2 е лесен за изпълнение, така че ако търсите по-добра производителност на Python, препоръчваме ви да отделите пет минути и да опитате Pyston. Това е един от най-лесните начини да ускорите проекта си.

По отношение на съвместимостта с родния Python, проектът Pyston се рекламира като най-съвместимата алтернативна реализация за CPython, тъй като Pyston е вилица на основната кодова база CPython.

Пистън поддържа всички функции на CPython, включително C API за разработване на разширения C. Pyston първоначално е разработен от Dropbox, който през 2017 г. реши да прекрати вътрешното развитие. В началото на 2020 г. най-добрите разработчици на Pyston основават своята компания, напълно преоткриват проекта и започват да работят в Pyston на пълен работен ден.

Все още не са предоставени технически подробности за подложката на Pyston 2, споменати са само DynASM JIT, вградено кеширане и общи оптимизации за CPython. Предишната версия на Pyston използваше един метод JIT наведнъж, подобно на JIT в съвременните JavaScript двигатели.

В JIT кодът на Python беше анализиран и преведен към междинно представяне LLVM (IR, междинно представяне). Освен това, IR представянето е обработено в LLVM оптимизатора и е предадено на LLVM JIT механизма за изпълнение, който преобразува IR представянето в машинен код.

За да се получи информация за видовете променливи за програми на динамичния език Python, беше използвана техниката на вероятностно предсказване на типове обекти, последвано от изясняване на правилния избор на тип по време на изпълнение.

Следователно Pyston постоянно варира изпълнението между два клона: бързо, когато се потвърждават прогнозираните ставки и бавно, което се използва в случай на несъответствие на типа.

Работата може да бъде изпълнена в многонишков режим, позволявайки паралелно изпълнение на няколко нишки код на езика Python и без глобално заключване на интерпретатора (GIL).

Накрая ако искате да научите повече за това, можете да проверите подробностите в следваща връзка.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.