Pyston 2 нь JIT хөрвүүлэгчтэй Python програмыг хэрэгжүүлдэг

Хөгжилд гурван жил завсарласны дараа Пистон 2 төслийн нээлтийг нийтлэв, би юу боловсруулсан бэ?Python хэлийг өндөр гүйцэтгэлтэй хэрэгжүүлэх LLVM төслийн хөгжлийг ашиглан.

Хэрэгжилт орчин үеийн JIT хөрвүүлэх технологийг ашиглахад онцгой анхаарч байна бөгөөд C ++ зэрэг уламжлалт системийн хэлнүүдтэй ижил төстэй өндөр гүйцэтгэлийг бий болгохыг зорьж байна.

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

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

Пистон 2-ийн тухай

Өмнөх хувилбаруудаас ялгаатай нь Пистон 2-ийг тогтвортой гэж тэмдэглэсэн туршилтын хувилбар биш. Гүйцэтгэлийг оновчтой болгохын тулд маш их ажил хийгдсэн бөгөөд Pyton 2 нь python-macrobenchmarks туршилтын багцыг дамжуулахад анхны Python 3.8-ээс 20 орчим хувиар хурдан болжээ.

Гайхамшигтай гүйцэтгэлийн ашиг нь вэб програмын ажлын ачаалал зэргээс харагдаж байна. Chaos.py, nbody.py гэх мэт тусдаа туршилтуудад Pyston 2 нь Python 3.8-ээс 2 дахин их байдаг. JIT ашиглах зардал нь санах ойн хэрэглээ бага зэрэг нэмэгддэг.

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

Pyston v2-ийг хэрэгжүүлэхэд хялбар байдаг тул хэрвээ та Python-ийн илүү сайн гүйцэтгэлийг хайж байгаа бол таван минут зарцуулж, Piston-ийг туршиж үзэхийг зөвлөж байна. Үүнийг хийх нь төслөө хурдасгах хамгийн хялбар аргуудын нэг юм.

Тохиромжтой байдлын хувьд уугуул Python, Pyston төсөлтэй хамт нь CPython-ийн хамгийн нийцтэй хувилбар хувилбар гэж нэрлэгддэг, Piston нь CPython кодын үндсэн суурийн салаа юм.

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

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

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

Динамик Python хэл дээрх програмуудын хувьсагчдын төрлүүдийн талаар мэдээлэл авахын тулд объектын төрлийг магадлалын урьдчилсан таамаглах арга техникийг ашигласны дараа гүйцэтгэлийн төрлийг зөв сонгох талаар тодруулга хийв.

Тиймээс Пистон нь хоёр салбар хоорондын гүйцэтгэлийг байнга өөрчилдөг байсан: урьдчилан таамагласан хувь хэмжээ батлагдсан үед хурдан, төрөл таарахгүй тохиолдолд ашиглагддаг удаан байдаг.

Ажлыг олон урсгалтай горимд хийж болно, Python хэл дээр хэд хэдэн кодын хэлхээг зэрэгцүүлэн гүйцэтгэхийг зөвшөөрч, дэлхийн орчуулагч түгжээг (GIL) чөлөөлөхгүй.

Эцэст нь Хэрэв та энэ талаар илүү ихийг мэдэхийг хүсч байвал, та дэлгэрэнгүй мэдээллийг дараах холбоос.


Нийтлэлийн агуулга нь бидний зарчмуудыг баримталдаг редакцийн ёс зүй. Алдааны талаар мэдээлэхийн тулд товшино уу энд байна.

Сэтгэгдэл бичих эхний хүн бай

Сэтгэгдэлээ үлдээгээрэй

Таны и-мэйл хаяг хэвлэгдсэн байх болно. Шаардлагатай талбарууд нь тэмдэглэгдсэн байна *

*

*

  1. Мэдээллийг хариуцах: Мигель Анхель Гатан
  2. Мэдээллийн зорилго: СПАМ-ыг хянах, сэтгэгдлийн менежмент.
  3. Хууль ёсны байдал: Таны зөвшөөрөл
  4. Мэдээллийн харилцаа холбоо: Хуулийн үүргээс бусад тохиолдолд мэдээллийг гуравдагч этгээдэд дамжуулахгүй.
  5. Өгөгдөл хадгалах: Occentus Networks (ЕХ) -с зохион байгуулсан мэдээллийн сан
  6. Эрх: Та хүссэн үедээ мэдээллээ хязгаарлаж, сэргээж, устгаж болно.