JPype 1.0.2 update, raibhurari yekuwana makirasi eJava kubva kuPython

Inowanikwa kuburitswa kutsva kwe interlayer JPype 1.0.2, iyo inobvumira zvikumbiro zvePython kuti zvive nekuwana zvizere kumaraibhurari ekirasi mumutauro weJava. NeJPype kubva kuPython, unogona kushandisa Java-chaiwo maraibhurari kugadzira mahybrid application anosanganisa Java nePython kodhi. Kusiyana neJython, kubatanidzwa neJava kunowanikwa kwete kuburikidza nekugadzira Python musiyano weJVM, asi kuburikidza nekudyidzana pamwero wemashini ese ari maviri uchishandisa yakagovaniswa ndangariro. Iyo yakarongwa nzira inobvumira kwete chete kuita zvakanaka, asi inopawo mukana kune ese maCPython uye Java maraibhurari. Project code inoparadzirwa ne ine rezinesi pasi peApache 2.0.

Shanduko huru:

  • Cache yakawedzerwa kune nzira dzekufona kudzivirira kuwandisa kugadzirisa, izvo zvinoderedza zvakanyanya maitiro ekugadzirisa nzira, kunyanya kana iyo yakawandisa inodaidzwa kakawanda, sepanguva yekuuraya loop.
  • Kubva pa4 kusvika ku100 nguva, zvichienderana nerudzi rwedata, kuendesa rondedzero, tuples uye mabuffers kune arrays eJava primitives inokasiswa. Iko kutendeuka kunoshandisa optimized process ye-in-memory buffers, panzvimbo yeSequence API. Kana Python buffer ikasangana, chinhu chekutanga chete ndicho chinotariswa kuti chishandurwe, sezvo mabhafa aya ari homogeneous.
  • Kugadzirisa mashandiro ekuvhara (akaiswa muJPype 1.0.0, asi akarukwa pakugadzirira shanduko). JPype ikozvino inodana iyo JVM yekuvhara routine, iyo inoedza kubuda nenyasha. Izvi zvinotungamirira kuchinjo dzakawanda mumufambiro. Tambo dzisiri dzekumashure (kufona kweproxy) zvino dzinogona kuchengeta JVM yakavhurika kusvika dzapera. MaProxy anofona anozodzima kusvika kufona kwapera, asi achagamuchira meseji yekubvisa. Mafaira zvino akavharwa nemazvo uye akaputirwa kudhisiki kana tambo dzakabata kusarudzika sezvaitarisirwa. Resource cleanup hooks uye finalizers inourayiwa. Kana tambo dzaburitswa, AtExit hoko dzinodanwa. Kuburikidza nedaemon, otomatiki tambo yekujoinha inoitwa kana uchishandisa iyo JVM kubva kuPython. Buggy kodhi isingakwanise kubata zvakanaka kuchenesa tambo inogona kurembera kana kudzima kwaitwa. Mamwe magwaro anogona kuwanikwa mubhuku rekushandisa.
  • Iyo yekuputira yeKukandwa yakagamuchira wrapper yeChinhu pachinzvimbo chezvaitarisirwa mhedzisiro, izvo zvakakonzera kutendeuka kusinganzwisisike kubva kumakirasi ePython.
  • Yakagadziriswa typos mune yekutumira system yakakonzera kukanganisa 'Β»jnameΒ» haina kuwanikwa'.
  • Iva nechokwadi chekuti "^ C" yakasimudzirwa nemazvo muKeyboardInterrupt.
  • Yakagadziriswa dambudziko nezviratidzo kubvira Python 3.5.3. PySlice_Unpack yakaunzwa mune yakatevera chigamba kuburitswa (3.5.4) uye yaisafanirwa kunge yakashandiswa.
  • Yakagadzirisa bhagi ne numpy.linalg.inv yakonzera kuputsika. Iyo nyaya yakateedzerwa pakutaurirana pakati peJVM uye mamwe maflavour numpy. Mhinduro yakarongwa ndeyekufonera numpy.linalg.inv usati watanga iyo JVM.

Source: opennet.ru

Voeg