Rakirina Nuitka 2.0, berhevkarek ji bo zimanê Python

Projeya Nuitka 2.0 naha berdest e, ku berhevkarek ji bo wergerandina nivîsarên Python-ê li nûneriyek C-yê pêş dixe, ku dûv re dikare bi karanîna libpython-ê ji bo hevahengiya herî zêde ya CPython-ê li darvekerek were berhev kirin (bi karanîna amûrên rêveberiya cewherê CPython-a xwemalî). Lihevhatina bêkêmasî bi berdanên heyî yên Python 2.6, 2.7, 3.3 - 3.11 ve tê peyda kirin. Li gorî CPython, nivîsarên berhevkirî di pîvanên pystone de 335% çêtirbûna performansê nîşan didin. Koda projeyê di bin lîsansa Apache de tê belav kirin.

Di nav guhertinên di guhertoya nû de:

  • Di veavakirina pakêtê de şiyana karanîna guhêrbaran lê zêde kir, ku dihêle hûn di dema berhevkirinê de nirxan ji pakêtên sazkirî bipirsin û wan nirxan bikar bînin da ku paşnavê diyar bikin. Piştgiriya guhêrbarên di veavakirinê de dihêle hûn gelek karan bi awayên standard ên ku berê pêvekên girêdanê hewce dikirin çareser bikin.
  • Piştgiriyek ji bo parametreyên diyarkirî yên bikarhêner zêde kir ku bandorê li veavakirina her pakêtê bike. Parametre dikarin bi karanîna fonksiyona get_parameterê ya nû werin xwendin û ji bo hilbijartina behremendiya modulan werin bikar anîn (mînak, hûn dikarin pîvanek destnîşan bikin ku Numba JIT an Torch JIT neçalak bike).
  • Vebijarka "--include-onefile-external-data" hat zêdekirin da ku şablonên pelên daneyê yên ku di veavakirinê de hatine destnîşan kirin diyar bike lê dema ku di moda yek pelê de were çêkirin divê ji pelê veqetandî cuda were peyda kirin.
  • Vebijarka "--cf-parastinê" zêde kir da ku moda parastinê ya CFI (Control Flow Integrity) li GCC-ê saz bike, ku binpêkirinên fermana darvekirinê ya normal (herikîna kontrolê) asteng dike.
  • Ji bo pelên pêveka yaml, şiyana afirandina kontrolên ji bo kontrolên yekparebûnê hatîye bicîh kirin, ku di pêşerojê de ew plan dikin ku bikar bînin da ku verastkirina dema xebitandinê organîze bikin.
  • Çalakî dihêle ku gelek vebijark bêne diyar kirin, ji hêla rêzan ve werin veqetandin (xêzek nû wekî veqetandek tê bikar anîn). Mînak: tevlî-data-dir: | a=bc=d
  • Analîzek celebên loopê hate bicîh kirin, ku dê di pêşerojê de ji bo pêkanîna xweşbîniyên bijartî were bikar anîn.
  • Optimîzasyon lê zêde kirin da ku xebata bi guhêrbarên ne-parvekirî û reviyan re bilezînin.
  • Kapasîteyên pêveka dij-bloat hatine berfireh kirin, ku naha dikare were bikar anîn da ku hejmara pakêtan kêm bike dema ku pirtûkxaneyên streamlit, torch, knetworkx, belavkirî, skimage, bitsandbytes, tf_keras, pip, networkx û pywt bikar tînin (bi bingehîn, girêdan ji bo pytest, IPython, poz, trîton tê derxistin û dask).

Source: opennet.ru

Add a comment