JPype 1.0.2 اپڊيٽ، پٿون مان جاوا ڪلاس تائين رسائي لاءِ هڪ لائبريري

دستياب interlayer جي نئين ڇڏڻ JPype 1.0.2، جيڪو توهان کي اجازت ڏئي ٿو Python ايپليڪيشنن جي مڪمل رسائي کي جاوا ڪلاس لائبريرين تائين منظم ڪرڻ. Python مان JPype سان، توھان ھائبرڊ ايپليڪيشنون ٺاھڻ لاءِ جاوا-مخصوص لائبريريون استعمال ڪري سگھو ٿا جيڪي جاوا ۽ پٿون ڪوڊ کي گڏ ڪن ٿيون. Jython جي برعڪس، جاوا سان انضمام حاصل ڪيو ويو آهي نه JVM لاءِ پٿون ويرينٽ ٺاهڻ جي ذريعي، پر ٻنهي ورچوئل مشينن جي سطح تي گڏيل ميموري استعمال ڪندي. تجويز ڪيل طريقي سان نه رڳو سٺي ڪارڪردگي حاصل ڪرڻ جي اجازت ڏئي ٿي، پر سڀني CPython ۽ Java لائبريرين تائين رسائي پڻ فراهم ڪري ٿي. پروجيڪٽ ڪوڊ طرفان ورهايل Apache 2.0 تحت لائسنس يافته.

مکيه تبديليون:

  • اوورلوڊ ريزوليوشن کان بچڻ لاءِ ميٿڊ ڪالز ۾ هڪ ڪيش شامل ڪيو ويو آهي، جيڪو طريقي سان ريزوليوشن جي ڪارڪردگيءَ جي اثر کي تمام گهڻو گھٽائي ٿو، خاص طور تي جيڪڏهن ساڳئي اوورلوڊ کي ڪيترائي ڀيرا سڏيو وڃي ٿو، جيئن لوپ جي عمل جي دوران.
  • 4 کان 100 ڀيرا، ڊيٽا جي قسم تي منحصر ڪري، جاوا پرائمري جي صفن ۾ لسٽن، ٽپلس ۽ بفرن جي منتقلي کي تيز ڪيو ويندو آھي. تبديلي Sequence API جي بدران، ان-ميموري بفرز جي بهتر پروسيسنگ استعمال ڪري ٿي. جڏهن هڪ پٿون بفر سامهون اچي ٿو، صرف پهريون عنصر تبادلي لاء چيڪ ڪيو ويو آهي، ڇاڪاڻ ته اهي بفر هڪجهڙائي وارا آهن.
  • پروسيسنگ شٽ ڊائون آپريشنز (جي پيپ 1.0.0 ۾ لاڳو ڪيو ويو، پر تبديلي لاگ تيار ڪرڻ وقت ڇڏي ويو). JPype ھاڻي سڏيندو آھي JVM بند ڪرڻ جو معمول، جيڪو ڪوشش ڪري ٿو ٻاھر نڪرڻ جي فضل سان. اهو رويي ۾ ڪيترن ئي تبديلين جي ڪري ٿي. غير پس منظر واري موضوع (پراڪسي ڪالون) ھاڻي JVM کي کليل رکي سگھن ٿيون جيستائين اھي ختم نه ٿين. پراکسي ڪالون بند ٿيڻ تي عمل ڪنديون جيستائين ڪال مڪمل نه ٿيندي، پر هڪ ابتو پيغام وصول ڪندا. فائلون هاڻي صحيح طور تي بند ڪيون ويون آهن ۽ ڊسڪ کي فلش ڪيو ويو آهي جيڪڏهن ٿريڊز توقع جي مطابق استثنا کي هٿي وٺن. وسيلن جي صفائي جي ٿلهو ۽ فائنلز تي عمل ڪيو ويو آهي. جڏهن ڌاڙا ٺاهيا ويندا آهن، AtExit ٿلهو سڏيو ويندو آهي. ڊيمن ذريعي، خودڪار ٿريڊ منسلڪ لاڳو ٿئي ٿو جڏهن Python کان JVM استعمال ڪندي. بگي ڪوڊ جيڪو صحيح طريقي سان ٿريڊ جي صفائي کي نه ٿو سنڀالي سگھي اهو ممڪن طور تي لڪي ويندو جڏهن بند ڪيو ويندو. اضافي دستاويز ڳولهي سگهجن ٿا يوزر مينوئل ۾.
  • Wrapper for Throwable متوقع نتيجي جي بدران Object لاءِ هڪ لفافو حاصل ڪيو، جنهن سبب Python طبقن کان عجيب تبديليون آيون.
  • امپورٽ سسٽم ۾ درست ٿيل ٽائپس جنهن جي نتيجي ۾ غلطي '»jname» نه ملي.
  • پڪ ڪيو ته "^C" کي صحيح طور تي KeyboardInterrupt ۾ وڌايو ويو.
  • Python 3.5.3 کان علامتن سان حل ٿيل مسئلو. PySlice_Unpack هڪ ايندڙ پيچ رليز ۾ متعارف ڪرايو ويو (3.5.4) ۽ استعمال نه ڪيو وڃي ها.
  • numpy.linalg.inv سان هڪ بگ کي درست ڪيو جيڪو حادثي جو سبب بڻيو. مسئلو JVM ۽ ڪجهه نامياتي ذائقن جي وچ ۾ رابطي جي سلسلي کي ڳوليو ويو آهي. تجويز ڪيل حل JVM شروع ڪرڻ کان پهريان numpy.linalg.inv کي ڪال ڪرڻ آهي.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو