Nchafatso ea JPype 1.0.2, lilaeborari tsa ho fihlella litlelase tsa Java ho tsoa Python

Fumaneha tokollo e ncha ea interlayer JPpype 1.0.2, e u lumellang hore u hlophise phihlello e felletseng ea lits'ebetso tsa Python ho lilaebraring tsa sehlopha sa Java. Ka JPype e tsoang Python, o ka sebelisa lilaebrari tse ikhethileng ho Java ho theha lits'ebetso tse nyalisitsoeng tse kopanyang khoutu ea Java le Python. Ho fapana le Jython, ho kopanngoa le Java ha ho finyelloe ka ho theha mofuta oa Python bakeng sa JVM, empa ka ho sebelisana boemong ba mechine ka bobeli e sebelisang mohopolo o arolelanoeng. Mokhoa o reriloeng ha o lumelle feela ho fihlela ts'ebetso e ntle, empa o fana ka phihlello ho lilaebrari tsohle tsa CPython le Java. Khoutu ea morero ajoa ke e nang le tumello tlas'a Apache 2.0.

Liphetoho tse kholo:

  • Cache e kenyellelitsoe mehalang ea mekhoa ho qoba ho rarolla mathata a mangata, e leng ho fokotsang haholo phello ea ts'ebetso ea tharollo ea mekhoa, haholo-holo haeba ho bitsoa ka mokhoa o ts'oanang hangata, joalo ka nakong ea ts'ebetso ea loop.
  • Ho tloha makhetlo a 4 ho isa ho a 100, ho latela mofuta oa data, phetisetso ea manane, li-tuples le li-buffers ho lihlopha tsa li-primitives tsa Java lia potlakisa. Phetoho e sebelisa ts'ebetso e ntlafalitsoeng ea li-buffers tsa memoring, sebakeng sa Sequence API. Ha buffer ea Python e kopana le eona, ke ntho ea pele feela e hlahlojoang bakeng sa phetoho, kaha li-buffers tsena li homogeneous.
  • Ts'ebetso ea ho koala (e kentsoeng ho JPype 1.0.0, empa e ile ea tlotsoa ha ho lokisoa changelog). JPype joale e bitsa mokhoa oa ho koala oa JVM, o lekang ho tsoa ka bokhabane. Sena se lebisa liphetohong tse 'maloa boitšoarong. Likhoele tse se nang bokamorao (mehala ea proxy) joale li ka boloka JVM e bulehile ho fihlela e felile. Li-call tsa proxy li tla sebetsa ho koala ho fihlela mohala o fela, empa o tla fumana molaetsa oa ho emisa. Lifaele li se li koetsoe hantle 'me li fetisetsoa ho disk haeba likhoele li sebetsana le mokhelo kamoo ho neng ho lebelletsoe. Lisebelisoa tsa ho hloekisa lisebelisoa le li-final li a etsoa. Ha likhoele li hlahisoa, li-hook tsa AtExit li bitsoa. Ka daemon, sehokelo sa khoele sa othomathike se kengoa ts'ebetsong ha ho sebelisoa JVM ho tsoa Python. Khoutu ea li-buggy e sa khoneng ho sebetsana hantle le tlhoekiso ea likhoele e kanna ea fanyeha ha ho koaloa ho etsoa. Litokomane tse ling li ka fumanoa bukeng ea mosebedisi.
  • Sephutheloana sa Throwable se fumane sephutheloana sa Object sebakeng sa sephetho se lebelletsoeng, se lebisitseng ho liphetoho tse makatsang ho tsoa lihlopheng tsa Python.
  • Li-typos tse tsitsitseng tsamaisong ea ho kenya thepa e bakileng phoso '»jname» ha e fumanehe'.
  • E netefalitse hore "^C" e khothalelitsoe ka nepo ho KeyboardInterrupt.
  • Bothata bo tsitsitseng ka matšoao ho tloha Python 3.5.3. PySlice_Unpack e hlahisitsoe tokollong e latelang ea patch (3.5.4) mme e ne e sa lokela ho sebelisoa.
  • Lokisa bothata ka numpy.linalg.inv e lebisitseng ho oa. Taba ena e ts'oaretsoe puisanong lipakeng tsa JVM le litatso tse ling tsa numpy. Tharollo e reriloeng ke ho letsetsa numpy.linalg.inv pele o qala JVM.

Source: opennet.ru

Eketsa ka tlhaloso