Programavimas

Kompiuteris „Nuitka Python-to-C“ pasiekia didelių rezultatų

„Nuitka“, kompiliatorius, kuris „Python“ paverčia „C“ tiek dėl naudos, tiek dėl nešiojamojo veikimo laiko, pasiekė savo 0,6 versiją - tai yra etapas, padedantis pagrindus būsimam našumui. Kaip teigė „Nuitka“ kūrėjas Kay'as Hayenas, „našumas gali pagerėti kiekviename būsimame leidime“.

„Nuitka 0.6“ naudoja „Python“ optimizavimą bool tipai (tiesa / melas), kad juos naudojantį kodą būtų galima sumažinti iki kuo efektyvesnio C kodo. bool optimizavimas yra preliudija panašiems kitų kintamųjų tipų optimizavimams.

„Nuitka“, kaip ir „Cython“, kompiliuoja „Python“ programą su „C“ ir susieja gautą vykdomąjį failą su „Python“ vykdymo laiku, kad būtų užtikrintas maksimalus suderinamumas. Palaikomos „Python“ versijos 2.6, 2.7 ir 3.3 - 3.7, įskaitant panašias konstrukcijas asinchroninis.

Su „Nuitka“ sudarytoms „Python“ programoms gali būti naudingas didelis našumas. Hayenas tvirtina, kad „Nuitka“ sukurta „Pystone“ etalono versija veikia maždaug 312 proc. Greičiau nei įprasta „CPython“ versija.

Tačiau Hayenas perspėja, kad svarbiausi našumo patobulinimai laukia tipo išvadų pateikimo „Nuitka“, leidžiančių visiškai išversti tam tikrų tipų „Python“ objektus į vietines C versijas.

„Python“ dinamiškumas apsunkina daugelio rūšių optimizavimą. Norint pasiekti geriausių rezultatų, daugeliui „Cython“ optimizavimo būdų reikia daug patarimų ir specializuotos komentarų sintaksės. „Nuitka“ projekto tikslas yra pateikti tokio paties tipo optimizavimą nereikalaujant, kad kūrėjas komentuotų kodą.

Kitas dažnai naudojamas „Python“ greitintuvas - „PyPy“ - tiksliai surenka „Python“ kodą į surinkimą. Tačiau „PyPy“ geriausiai tinka optimizavimui vietoje; ji netinka kuriant „Python“ programą, kuri yra įdiegta atskirai. „Nuitka“ sukuria atskirus vykdomuosius failus. Vienas iš galimų naudojimo atvejų yra „Python“ programos supakavimas trečiųjų šalių platinimui.

Kiti „Nuitka 0.6“ patobulinimai apima „Windows“ palaikymą „Clang“, „Microsoft Visual C ++“ ir „Cygwin“ kompiliatoriams, objektų failų talpyklą, kad būtų galima greičiau kompiliuoti (vėlgi „Windows“ sistemose), ir automatiškai sugeneruotą C kodą„clang“ formatas dėl skaitomumo.

$config[zx-auto] not found$config[zx-overlay] not found