Пистон 2 је примена Питхона са ЈИТ компајлером

После трогодишње станке у развоју, објављено је покретање пројекта Пистон 2, шта сам развиодо имплементације Питхон језика високих перформанси користећи развој ЛЛВМ пројекта.

Имплементација издваја се по употреби савремених технологија компајлирања ЈИТ и има за циљ постизање високих перформанси сличних традиционалним системским језицима попут Ц ++.

Код из претходних верзија од Пистона дистрибуиран је под лиценцом Апацхе, али Пистон 2 код још увек није доступан и за Убунту 18.04 и 20.04 су објављене само верзије спремне за употребу (датотека са кодом је доступна за преузимање, али постоји само квар са информацијама да је пројекат још увек затворен) .

Објављивање кода је део планова програмераали ово ће бити учињено након завршетка формирања пословног модела нове компаније и одлучено је да се Пистон настави развијати без финансијске подршке Дропбока.

О Пистон-у 2

За разлику од претходних верзија, Пистон 2 је означен као стабилан а не као пробну верзију. Урађено је много на оптимизацији перформанси и Пистон 2 је сада бржи од оригиналног Питхона 3.8 за око 20% приликом проласка пакета за тестирање питхон-мацробенцхмаркс.

Најзначајнији добици у перформансама виде се у инхерентним радним оптерећењима веб апликација. У одвојеним тестовима, као што су цхаос.пи и нбоди.пи, Пистон 2 надмашује Питхон 3.8 за фактор 2. Цена коришћења ЈИТ-а је незнатно повећање потрошње меморије.

Веома смо узбуђени што смо објавили Пистон в2, бржу и врло компатибилну имплементацију програмског језика Питхон. Верзија 2 је 20% бржа од стандардног Питхона 3.8 у нашим макробенчмаркама. Што је још важније, вероватно је брже у вашем коду. Пистон в2 може смањити трошкове сервера, смањити кашњење корисника и побољшати продуктивност програмера.

Пистон в2 је једноставан за имплементацију, па ако тражите боље Питхон перформансе, препоручујемо вам да одвојите пет минута и пробате Пистон. То је један од најлакших начина да убрзате свој пројекат.

У погледу компатибилности са изворним Питхоном, пројекат Пистон се сматра најкомпатибилнијом алтернативном имплементацијом за ЦПитхон, пошто је Пистон рачвање главне базе ЦПитхон кода.

Пистон подржава све функције ЦПитхон, укључујући Ц АПИ за развој екстензија Ц. Пистон је првобитно развио Дропбок, који је 2017. одлучио да прекине унутрашњи развој. Почетком 2020. године, врхунски програмери Пистона основали су своју компанију, потпуно измислили пројекат и почели да раде у Пистону са пуним радним временом.

Технички детаљи о подлози Пистон 2 још нису дати, помињу се само ДинАСМ ЈИТ, уграђено кеширање и опште оптимизације ЦПитхона. Претходна верзија Пистона користила је по једну методу ЈИТ, слично као ЈИТ у модерним ЈаваСцрипт моторима.

У ЈИТ-у, Питхон код је рашчлањен и преведен на средњу заступљеност ЛЛВМ (ИР, средња репрезентација). Даље, ИР приказ је обрађен у ЛЛВМ оптимизатору и прослеђен је на извршење ЛЛВМ ЈИТ машини, који је претворио ИР приказ у машински код.

За добијање информација о врстама променљивих за програме на динамичком језику Питхон, коришћена је техника вероватносног предвиђања типова објеката, праћено разјашњавањем тачног избора типа током извршавања.

Стога је Пистон непрестано мењао извршење између две гране: брзе, када се потврде предвиђене стопе, и споре, која се користи у случају неусклађености типа.

Посао се може обавити у вишенитном режиму, омогућавајући паралелно извршавање неколико нити кода на језику Питхон и без глобалне браве тумача (ГИЛ).

Коначно ако желите да сазнате више о томе, детаље можете погледати у следећи линк.


Садржај чланка се придржава наших принципа уређивачка етика. Да бисте пријавили грешку, кликните овде.

Будите први који ће коментарисати

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

Ваша емаил адреса неће бити објављена.

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.