Paglabas ng Nuitka 2.0, isang compiler para sa wikang Python

Available ang isang release ng proyektong Nuitka 2.0, na bumubuo ng isang compiler para sa pagsasalin ng mga script ng Python sa isang representasyon ng C, na pagkatapos ay maaaring i-compile sa isang executable file gamit ang libpython para sa maximum na compatibility sa CPython (gamit ang mga native na tool ng CPython para sa pagmamanipula ng mga bagay). Ibinigay ang buong compatibility sa mga kasalukuyang release ng Python 2.6, 2.7, 3.3 - 3.11. Kung ikukumpara sa CPython, ang mga pinagsama-samang script ay nagpapakita ng 335% na pagpapabuti ng pagganap sa mga pagsubok sa pystone. Ang code ng proyekto ay ipinamahagi sa ilalim ng lisensya ng Apache.

Kabilang sa mga pagbabago sa bagong bersyon:

  • Idinagdag ang kakayahang gumamit ng mga variable sa pagsasaayos ng package, na nagbibigay-daan sa iyong mag-query ng mga halaga mula sa mga naka-install na pakete sa oras ng pag-compile at gamitin ang mga halagang iyon upang tukuyin ang backend. Ang suporta para sa mga variable sa pagsasaayos ay nagbibigay-daan sa iyo upang malutas ang maraming mga gawain sa mga karaniwang paraan na kinakailangan dati ng mga plugin sa pagkonekta.
  • Nagdagdag ng suporta para sa mga parameter na tinukoy ng user upang maimpluwensyahan ang configuration ng bawat package. Maaaring basahin ang mga parameter gamit ang bagong function na get_parameter at ginagamit upang piliin ang gawi ng mga module (halimbawa, maaari kang magtakda ng parameter upang hindi paganahin ang Numba JIT o Torch JIT).
  • Idinagdag ang opsyon na "--include-onefile-external-data" upang tukuyin ang mga template ng file ng data na tinukoy sa configuration ngunit dapat na ibigay nang hiwalay sa executable na file kapag bumubuo sa onefile mode.
  • Idinagdag ang opsyong β€œ--cf-protection” para itakda ang mode ng proteksyon ng CFI (Control Flow Integrity) sa GCC, na humaharang sa mga paglabag sa normal na utos ng pagpapatupad (control flow).
  • Para sa mga plugin na yaml file, ang kakayahang lumikha ng mga checksum para sa mga pagsusuri sa integridad ay ipinatupad, na sa hinaharap ay pinaplano nilang gamitin upang ayusin ang run-time na pag-verify.
  • Binibigyang-daan ng mga aksyon ang maraming mga opsyon na matukoy, na pinaghihiwalay ng mga linya (isang bagong linya ang ginagamit bilang isang delimiter). Halimbawa: isama-data-dir: | a=bc=d
  • Naipatupad ang pagsusuri ng mga uri ng loop, na gagamitin sa hinaharap upang ipatupad ang mga piling pag-optimize.
  • Nagdagdag ng mga pag-optimize upang mapabilis ang trabaho sa mga hindi nakabahagi at na-escape na mga variable.
  • Ang mga kakayahan ng anti-bloat plugin ay pinalawak na, na magagamit na ngayon upang bawasan ang bilang ng mga packet kapag gumagamit ng streamlit, torch, knetworkx, distributed, skimage, bitsandbytes, tf_keras, pip, networkx at pywt na mga aklatan (karaniwang, nagbubuklod sa pytest, IPython, ilong, triton ay hindi kasama at dask).

Pinagmulan: opennet.ru

Magdagdag ng komento