1 पॉइंट द्वारा GN⁺ 2024-09-18 | 3 टिप्पणियां | WhatsApp पर शेयर करें
  • Java के लिए उच्च-प्रदर्शन एम्बेडेबल Python 3 रनटाइम
  • Java से सीधे Python पैकेज लोड और उपयोग किए जा सकते हैं
  • नवीनतम Python AI और डेटा साइंस पैकेजों के साथ संगत
  • Graal JIT कंपाइलर के जरिए Python को native code जैसी गति से चलाया जा सकता है
  • Jython उपयोगकर्ताओं के लिए अपग्रेड पथ प्रदान करता है
  • Java में Python scripts का उपयोग करके Java classes और frameworks के साथ इंटरैक्ट किया जा सकता है
  • GraalVM Native Image का उपयोग करके Python applications को एकल binary के रूप में पैकेज किया जा सकता है

GN⁺ का संक्षेप

  • GraalPy ऐसा रनटाइम प्रदान करता है जो Java में Python को उच्च प्रदर्शन के साथ चला सकता है
  • यह Jython उपयोगकर्ताओं के लिए आधुनिक Python सुविधाओं का उपयोग करने हेतु अपग्रेड पथ प्रदान करता है
  • GraalVM के polyglot interface के जरिए Python डेटा साइंस libraries को Java applications में आसानी से इंटीग्रेट किया जा सकता है
  • यह Python और Java की interoperability बढ़ाकर डेवलपर्स को लचीलापन देता है
  • समान सुविधाएँ देने वाले प्रोजेक्ट्स में Jython और Py4J शामिल हैं

3 टिप्पणियां

 
GN⁺ 2024-09-18
Hacker News राय
  • GraalPy और JDK8 की तुलना करने वाले benchmark परिणाम साझा किए गए

    • JDK8, GraalPython EE 22.3 Hotspot से लगभग 2.4 गुना तेज़ है
    • JDK8, CPython 3.11 से 41 गुना तेज़ है
    • GraalPython, CPython से लगभग 17 गुना तेज़ है, और PyPy से लगभग 2 गुना तेज़ है
    • Graal Enterprise Edition (EE), Community Edition (CE) से लगभग 1.31 गुना तेज़ है
  • GraalVM का उपयोग करके एक बड़ा प्रोजेक्ट चलाने की कोशिश की गई, लेकिन कुछ समस्याएँ आईं

    • Maturin, Graal interpreter को support नहीं करता, इसलिए Py03 पैकेज का उपयोग नहीं किया जा सकता
    • uv चलता नहीं है, और os पैकेज में fork और execve मौजूद नहीं हैं
    • Graal को लोकप्रिय libraries पर बहुत सारे patches लागू करने पड़ते हैं
    • बड़े प्रोजेक्ट में Graal का उपयोग करना, उच्च जोखिम के कारण, मुश्किल है
  • एक राय यह थी कि अगर GraalVM, Java (या Scala) functions को बिना bridge के सीधे call कर सके, तो यह Spark इस्तेमाल करने वाले प्रोग्रामों के लिए उपयोगी होगा

  • Python की दिलचस्प बात इसका ML toolchain, CUDA, Metal/MLX, pytorch, tensorflow, LLM encoder/decoder आदि के साथ integration है

    • यह सवाल उठाया गया कि क्या GraalVM ऐसे code को सार्थक तरीके से चला सकता है
  • Clojure में Java/Python integration का एक उदाहरण पहले से मौजूद है

    • यह Chris Neurnberger और libpython-clj की बदौलत संभव हुआ
  • DuckDB फिलहाल support नहीं है, लेकिन Pandas और matplotlib support किए जाते हैं

    • राय थी कि अगर DuckDB और Polars support हों, तो यह बहुत से data work में मददगार होगा
  • यह पाया गया कि GraalPy, Python 3.11 को target करता है

    • GIL का कोई उल्लेख नहीं था
    • Python users के लिए चेतावनी दी गई कि quick start link पर क्लिक न करें
  • GraalPy के use case को लेकर सवाल उठाए गए

    • एक राय थी कि यह समझ नहीं आता कि GraalPy का उपयोग क्यों किया जाना चाहिए
  • यह भी पूछा गया कि क्या GraalPy को केवल GraalVM पर ही चलना चाहिए, या यह अन्य JVM implementations पर भी संभव है

 
ahwjdekf 2024-09-29

मैं अभी जिस प्रोजेक्ट पर काम कर रहा हूँ, उसमें Python के numpy और pandas से implement की गई चीज़ को Java में करके देने को कहा गया है — सचमुच होश उड़ाने वाला प्रोजेक्ट है। इसलिए अभी सब कुछ शुरू से फिर बना रहा हूँ। बिल्कुल बेतुका है। अगर GraalPy में pandas और numpy का ठीक से support मिल जाए, तो शायद यह बेकार की मशक्कत न करनी पड़े। लेकिन Windows environment में Visual Studio dependency है। C++ compile environment के लिए। और हाँ, idea वाकई अच्छा और उपयोगी है, लेकिन इतना विशाल ecosystem आखिर बिना असफल हुए कैसे पूरा होगा? इस बात की थोड़ी चिंता भी है। और क्या यह सच में इतना stable होगा कि भरोसे के साथ इस्तेमाल किया जा सके — इस पर थोड़ा शक भी है। अगर सच में ऐसा हो जाए, तो बहुत अच्छा होगा।

 
ahwjdekf 2024-10-01

थोड़ा और देखने पर लगा कि मैंने एक हिस्से को गलत समझा था। gcc या vs पर निर्भरता केवल native image का उपयोग करने पर ही ज़रूरी होती है।