Nuashonrú JPype 1.0.2, leabharlanna chun rochtain a fháil ar ranganna Java ó Python

Ar fáil scaoileadh ciseal nua JPipe 1.0.2, a ligeann duit rochtain iomlán na n-iarratas Python a eagrú chuig leabharlanna ranga Java. Le JPype ó Python, is féidir leat leabharlanna Java-shonracha a úsáid chun feidhmchláir hibrideacha a chruthú a chomhcheanglaíonn cód Java agus Python. Murab ionann agus Jython, baintear comhtháthú le Java ní trí mhalairt Python a chruthú don JVM, ach trí idirghníomhú ag leibhéal an dá mheaisín fhíorúla ag baint úsáide as cuimhne roinnte. Ceadaíonn an cur chuige atá beartaithe ní hamháin dea-fheidhmíocht a bhaint amach, ach soláthraíonn sé rochtain freisin ar gach leabharlann CPython agus Java. Cód tionscadail dáilte ag ceadúnaithe faoi Apache 2.0.

Athruithe móra:

  • Cuireadh taisce le glaonna modh chun réiteach ró-ualaithe a sheachaint, ag laghdú go mór an tionchar feidhmíochta a bhaineann le réiteach modh, go háirithe má thugtar an ró-ualach céanna go minic, mar atá i lúba.
  • Ó 4 go 100 uair, ag brath ar an gcineál sonraí, luathaítear aistriú liostaí, tuples agus maoláin chuig eagair primitives Java. Úsáideann an claochlú láimhseáil maoláin in-chuimhne optamaithe in ionad an Seicheamh API. Nuair a aimsítear maolán Python, ní dhéantar ach an chéad eilimint a sheiceáil le haghaidh comhshó, ós rud é go bhfuil na maoláin seo aonchineálach.
  • Oibríochtaí múchta a láimhseáil (curtha i bhfeidhm i JPype 1.0.0, ach níor éirigh leis agus an changelog á ullmhú). Glaonn JPype anois ar nós imeachta múchta an JVM, a dhéanann iarracht imeacht go galánta. Tagann roinnt athruithe iompraíochta as seo. Is féidir le snáitheanna neamhchúlra (glaonna seachfhreastalaí) an JVM a choinneáil ar oscailt anois go dtí go gcuirfear deireadh leo. Próiseálfar glaonna seachfhreastalaí go dtí go mbeidh an glao críochnaithe, ach gheobhaidh siad teachtaireacht toirmiscthe. Déantar comhaid a dhúnadh i gceart anois agus a shruthlú chuig diosca má láimhseálann na snáitheanna an eisceacht i gceart. Déantar crúcaí glanta acmhainní agus Críochnaitheoirí a fhorghníomhú. Nuair a bhíonn snáitheanna sceite, tugtar crúcaí AtExit. Tríd an deamhan, cuirtear ceangaltán snáithe uathoibríoch i bhfeidhm nuair a bhíonn an JVM ó Python á úsáid. Is dócha go mbeidh an cód earráideach a dteipeann air glantachán snáithe a láimhseáil i gceart ar an múchadh. Tá doiciméadú breise sa treoir úsáideora.
  • Bhí an fillteán le haghaidh Throwable ag fáil fillteán le haghaidh Object in ionad an toradh ionchais, rud a d'eascair comhshó aisteach ó ranganna Python.
  • Clóscríobhanna seasta sa chóras iompórtála a raibh earráid '"jname" gan aimsiú' mar thoradh air.
  • Cinntíodh cur chun cinn ceart "^C" in KeyboardInterrupt.
  • Saincheist charachtair sheasta le Python 3.5.3. Tugadh isteach PySlice_Unpack i scaoileadh paiste ina dhiaidh sin (3.5.4) agus níor cheart é a úsáid.
  • Deisigh timpiste le numpy.linalg.inv. Rianaíodh an cheist siar go dtí an idirghníomhaíocht snáithe idir an JVM agus roinnt leaganacha numpy. Is é an réiteach atá molta ná numpy.linalg.inv a ghlaoch roimh thosú ar an JVM.

Foinse: oscailtenet.ru

Add a comment