Ritja e JPype 1.0.2, bibliotekës për qasje në klasat Java nga Python

I disponueshëm lëshimi i ri i shtresës JPype 1.0.2, e cila mundëson qasje të plotë të aplikacioneve Python në bibliotekat e klasave në gjuhën Java. Me ndihmën e JPype, nga Python mund të përdoren biblioteka specifike për Java, duke krijuar aplikacione hibride që kombinojnë kodin në Java dhe Python. Ndryshe nga Jython, integimi me Java arrihet jo përmes krijimit të një varianti Python për JVM, por përmes ndërveprimit në nivelin e të dyja makinerive virtuale, duke përdorur memorie të ndarë. Qasja e propozuar lejon jo vetëm arritjen e performancës së lartë, por gjithashtu ofron qasje në të gjitha bibliotekat CPython dhe Java. Kodi i projektit shpërndahet nën licencën Apache 2.0.

Ndryshimet kryesore:

  • Shtuar njĂ« cache nĂ« thirrjet e metodave pĂ«r tĂ« shmangur zgjidhjen e ngarkesave, e cila ndjeshĂ«m redukton ndikimin nĂ« performancĂ« tĂ« zgjidhjes sĂ« metodave, veçanĂ«risht nĂ«se e njĂ«jta ngarkesĂ« thirret shumĂ« herĂ«, si nĂ« ciklet nĂ« ekzekutim.
  • Transferta e listave, tupleve dhe bufeve nĂ« sisteme primitive Java Ă«shtĂ« pĂ«rshpejtuar nga 4 deri nĂ« 100 herĂ«, nĂ« varĂ«si tĂ« llojit tĂ« tĂ« dhĂ«nave. Konvertimi pĂ«rdor pĂ«rpunim tĂ« optimizuar tĂ« bufereve nĂ« memorie, nĂ« vend tĂ« API-sĂ« sĂ« Sequences. Kur haset njĂ« buffer Python, kontrollohet vetĂ«m elementi i parĂ« pĂ«r transformim, pasi tĂ« dhĂ«nat janĂ« homogjene.
  • Trajtimi i operacioneve tĂ« shutdown (implementuar qĂ« nĂ« JPype 1.0.0, por nuk ishte pĂ«rfshirĂ« nĂ« listĂ«n e ndryshimeve). JPype tani thirret procedurĂ«n e shutdown-it tĂ« JVM, e cila pĂ«rpiqet tĂ« ekzekutojĂ« daljen nĂ« mĂ«nyrĂ« tĂ« 'graceful'. Kjo sjell disa ndryshime nĂ« sjellje. TheshtĂ« e rĂ«ndĂ«sishme qĂ« thirrjet qĂ« nuk janĂ« nĂ« sfond (thirrje proxy) tani mund tĂ« mbajnĂ« JVM hapur derisa tĂ« pĂ«rfundojnĂ«. Thirrjet Proxy do tĂ« trajtojnĂ« shutdown-in derisa thirrja tĂ« pĂ«rfundojĂ«, por do tĂ« marrin njĂ« mesazh ndĂ«rprerjeje. SkedarĂ«t tani mbyllen siç duhet dhe tĂ« dhĂ«nat shkarkohen nĂ« disk (flush), nĂ«se fijet trajtojnĂ« pĂ«rjashtimin siç duhet. Ekzekutohen thirrjet pĂ«r pastrimin e burimeve dhe finalizuesit. NĂ« gjenerimin e fijave, thirrjet AtExit janĂ« tĂ« aktivizuara. PĂ«rdorimi i JVM nga Python pĂ«rmban bashkimin automatik tĂ« fijave pĂ«rmes demonit. Kodi gabim qĂ« nuk mund tĂ« menaxhojĂ« siç duhet pastrimin e fijĂ«s, mund tĂ« ngecĂ« gjatĂ« ekzekutimit tĂ« shutdown. Dokumentacioni shtesĂ« ndodhet nĂ« udhĂ«zuesin e pĂ«rdorimit.
  • Ambale pĂ«r Throwable merrte ambalazhimin pĂ«r Object nĂ« vend tĂ« rezultatit tĂ« pritur, duke çuar nĂ« transformime tĂ« çuditshme nga klasat Python.
  • Korrigjohen gabimet nĂ« sistemin e importit, qĂ« çojnĂ« nĂ« dalje tĂ« gabimit ‘»jname» not found’.
  • Siguruar promovimi i saktĂ« tĂ« ‘^C’ nĂ« KeyboardInterrupt.
  • Problemin me karakteret qĂ« vinte nga Python 3.5.3 Ă«shtĂ« zgjidhur. PySlice_Unpack u fut nĂ« njĂ« patch-release tĂ« ardhshĂ«m (3.5.4) dhe nuk duhej tĂ« pĂ«rdorej.
  • ËshtĂ« zgjidhur problemi me numpy.linalg.inv, qĂ« shkaktonte pĂ«rplasje. Problemi u identifikua si njĂ« ndĂ«rveprim ndĂ«rmjet rrjetave JVM dhe disa varianteve tĂ« numpy. Zgjidhja e propozuar Ă«shtĂ« thirrja e numpy.linalg.inv para se tĂ« nisĂ« JVM.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster