Pangunahing pagbabago:
- Ang isang cache ay idinagdag sa mga tawag sa pamamaraan upang maiwasan ang paglutas ng labis na karga, na lubos na binabawasan ang epekto sa pagganap ng paglutas ng pamamaraan, lalo na kung ang parehong labis na karga ay tinatawag nang maraming beses, tulad ng sa panahon ng pagpapatupad ng loop.
- Mula 4 hanggang 100 beses, depende sa uri ng data, ang paglipat ng mga listahan, tuple at buffer sa mga array ng Java primitives ay pinabilis. Gumagamit ang conversion ng naka-optimize na pagproseso ng mga in-memory na buffer, sa halip na ang Sequence API. Kapag may na-encounter na Python buffer, ang unang elemento lang ang susuriin para sa conversion, dahil homogenous ang mga buffer na ito.
- Pagproseso ng mga pagpapatakbo ng shutdown (ipinatupad sa JPype 1.0.0, ngunit nilaktawan noong inihahanda ang changelog). Tinatawag na ngayon ng JPype ang JVM shutdown routine, na sumusubok na lumabas nang maganda. Ito ay humahantong sa ilang mga pagbabago sa pag-uugali. Ang mga non-background na thread (mga proxy na tawag) ay maaari na ngayong panatilihing bukas ang JVM hanggang sa matapos ang mga ito. Ipoproseso ng mga proxy na tawag ang pag-shutdown hanggang sa makumpleto ang tawag, ngunit makakatanggap sila ng isang abort na mensahe. Ang mga file ay sarado na ngayon nang maayos at na-flush sa disk kung pinangangasiwaan ng mga thread ang exception gaya ng inaasahan. Ang mga hook sa paglilinis ng mapagkukunan at mga finalizer ay isinasagawa. Kapag lumitaw ang mga thread, tinatawag ang mga AtExit hook. Sa pamamagitan ng daemon, ipinapatupad ang awtomatikong thread attachment kapag ginagamit ang JVM mula sa Python. Ang buggy code na hindi mahawakan nang maayos ang thread cleanup ay malamang na mabitin kapag isinagawa ang shutdown. Ang karagdagang dokumentasyon ay matatagpuan sa manwal ng gumagamit.
- Ang wrapper para sa Throwable ay nakatanggap ng wrapper para sa Object sa halip na ang inaasahang resulta, na humantong sa mga kakaibang conversion mula sa mga klase ng Python.
- Inayos ang mga typo sa sistema ng pag-import na nagresulta sa error na 'Β»jnameΒ» not found'.
- Tiniyak na ang "^C" ay na-promote nang tama sa KeyboardInterrupt.
- Inayos ang problema sa mga simbolo mula noong Python 3.5.3. Ang PySlice_Unpack ay ipinakilala sa isang kasunod na paglabas ng patch (3.5.4) at hindi dapat ginamit.
- Inayos ang isang bug sa numpy.linalg.inv na humantong sa isang pag-crash. Ang isyu ay na-trace sa thread na komunikasyon sa pagitan ng JVM at ilang numpy flavors. Ang iminungkahing solusyon ay tumawag sa numpy.linalg.inv bago simulan ang JVM.
Pinagmulan: opennet.ru