Ùrachadh JPype 1.0.2, leabharlann airson faighinn gu clasaichean Java bho Python

Ri fhaighinn sgaoileadh ùr de interlayer JPipe 1.0.2, a leigeas le tagraidhean Python làn chothrom fhaighinn air leabharlannan clas sa chànan Java. Le JPype bho Python, faodaidh tu leabharlannan sònraichte Java a chleachdadh gus tagraidhean tar-chinealach a chruthachadh a bhios a ’cothlamadh còd Java agus Python. Eu-coltach ri Jython, tha amalachadh le Java air a choileanadh chan ann tro bhith a’ cruthachadh tionndadh Python airson an JVM, ach tro eadar-obrachadh aig ìre an dà inneal brìgheil a’ cleachdadh cuimhne co-roinnte. Tha an dòigh-obrach a thathar a’ moladh a’ ceadachadh chan ann a-mhàin deagh choileanadh a choileanadh, ach tha e cuideachd a’ toirt cothrom air a h-uile leabharlann CPython agus Java. Còd a ' phròiseact air a sgaoileadh le le cead fo Apache 2.0.

Atharraichean mòra:

  • Chaidh tasgadan a chuir ri fiosan modh gus fuasgladh cus cuideim a sheachnadh, a lughdaicheas gu mòr a’ bhuaidh dèanadais aig fuasgladh modh, gu sònraichte ma chanar ris an aon cus cuideim iomadh uair, ’s a bha e aig àm coileanadh lùb.
  • Bho 4 gu 100 uair, a rèir an t-seòrsa dàta, tha gluasad liostaichean, tuples agus bufairean gu sreath de phrìomhachasan Java air a luathachadh. Bidh an tionndadh a’ cleachdadh giullachd leasaichte de bhufairean in-chuimhne, an àite an Sequence API. Nuair a thachras bufair Python, chan eil ach a’ chiad eileamaid air a sgrùdadh airson tionndadh, leis gu bheil na bufairean sin aon-ghnèitheach.
  • Obraichean dùnadh giullachd (air a chuir an gnìomh ann an JPype 1.0.0, ach chaidh a sheachnadh nuair a bha e ag ullachadh an changelog). Bidh JPype a-nis a’ gairm cleachdadh dùnadh JVM, a bhios a’ feuchainn ri fàgail gu gràsmhor. Tha seo a 'leantainn gu grunn atharrachaidhean ann an giùlan. Faodaidh snàithleanan neo-chùl (fiosan neach-ionaid) an JVM a chumail fosgailte gus am bi iad deiseil. Pròiseas fiosan neach-ionaid gus an tèid an gairm a chrìochnachadh, ach gheibh iad teachdaireachd casg. Tha faidhlichean a-nis dùinte gu ceart agus air an sruthadh gu diosc ma làimhsicheas na snàithleanan an eisgeachd mar a bhiodh dùil. Thathas a’ cur gu bàs dubhan glanaidh ghoireasan agus crìochnachaidhean. Nuair a thèid snàithleanan a shìolachadh, canar dubhan AtExit ris. Tron daemon, thèid ceangal snàithlean fèin-ghluasadach a chuir an gnìomh nuair a bhios tu a’ cleachdadh an JVM bho Python. Tha e coltach gum bi còd buggy nach urrainn glanadh snàithlean a làimhseachadh gu ceart an crochadh nuair a thèid an dùnadh a chuir gu bàs. Gheibhear sgrìobhainnean a bharrachd ann an leabhar-làimhe an neach-cleachdaidh.
  • Fhuair am pasgan airson Throwable pasgan airson Rud an àite an toradh ris an robh dùil, a lean gu atharrachaidhean neònach bho chlasaichean Python.
  • Typos stèidhichte san t-siostam in-mhalairt a dh’ adhbhraich a’ mhearachd ‘» jname» cha deach a lorg’.
  • Dèan cinnteach gun deach "^C" a bhrosnachadh gu ceart ann am KeyboardInterrupt.
  • Duilgheadas stèidhichte le samhlaidhean bho Python 3.5.3. Chaidh PySlice_Unpack a thoirt a-steach ann am brath paiste às deidh sin (3.5.4) agus cha bu chòir a bhith air a chleachdadh.
  • Chàirich sinn bug le numpy.linalg.inv a lean gu tubaist. Chaidh a’ chùis a lorg gus conaltradh a shnìomh eadar an JVM agus cuid de bhlasan cnapach. Is e am fuasgladh a thathar a’ moladh numpy.linalg.inv a ghairm mus tòisich thu air an JVM.

Source: fosgailtenet.ru

Cuir beachd ann