1 poin oleh GN⁺ 2024-09-18 | 3 komentar | Bagikan ke WhatsApp
  • Runtime Python 3 yang dapat di-embed berperforma tinggi untuk Java
  • Dapat memuat dan menggunakan paket Python langsung dari Java
  • Kompatibel dengan paket AI dan data science Python terbaru
  • Dapat menjalankan Python dengan kecepatan setara kode native melalui compiler JIT Graal
  • Menyediakan jalur upgrade bagi pengguna Jython
  • Dapat menggunakan skrip Python dari Java untuk berinteraksi dengan class dan framework Java
  • Dapat mengemas aplikasi Python menjadi biner tunggal menggunakan GraalVM Native Image

Ringkasan GN⁺

  • GraalPy menyediakan runtime yang memungkinkan Python dijalankan dengan performa tinggi di Java
  • Menyediakan jalur upgrade bagi pengguna Jython agar dapat menggunakan fitur Python modern
  • Melalui antarmuka polyglot GraalVM, library data science Python dapat dengan mudah diintegrasikan ke aplikasi Java
  • Meningkatkan interoperabilitas Python dan Java sehingga memberi fleksibilitas bagi pengembang
  • Proyek dengan fungsi serupa antara lain Jython dan Py4J

3 komentar

 
GN⁺ 2024-09-18
Komentar Hacker News
  • Membagikan hasil benchmark yang membandingkan GraalPy dan JDK8

    • JDK8 sekitar 2,4 kali lebih cepat daripada GraalPython EE 22.3 Hotspot
    • JDK8 41 kali lebih cepat daripada CPython 3.11
    • GraalPython sekitar 17 kali lebih cepat daripada CPython, dan sekitar 2 kali lebih cepat daripada PyPy
    • Graal Enterprise Edition (EE) sekitar 1,31 kali lebih cepat daripada Community Edition (CE)
  • Mencoba menjalankan proyek besar menggunakan GraalVM, tetapi menemui beberapa masalah

    • Maturin tidak mendukung interpreter Graal, sehingga paket Py03 tidak dapat digunakan
    • uv tidak dapat dijalankan, dan fork serta execve tidak ada di paket os
    • Graal perlu menerapkan banyak patch pada library populer
    • Sulit menggunakan Graal untuk proyek besar karena risikonya tinggi
  • Ada pendapat bahwa jika GraalVM bisa memanggil fungsi Java (atau Scala) secara langsung tanpa bridge, itu akan berguna untuk program yang menggunakan Spark

  • Hal yang menarik dari Python adalah integrasinya dengan ML toolchain, CUDA, Metal/MLX, pytorch, tensorflow, encoder/decoder LLM, dan lain-lain

    • Muncul pertanyaan apakah GraalVM dapat menjalankan kode-kode semacam ini secara bermakna
  • Sudah ada contoh implementasi integrasi Java/Python di Clojure

    • Hal ini dimungkinkan berkat Chris Neurnberger dan libpython-clj
  • DuckDB saat ini belum didukung, tetapi Pandas dan matplotlib didukung

    • Ada pendapat bahwa jika DuckDB dan Polars didukung, itu akan membantu banyak pekerjaan data
  • Menemukan bahwa GraalPy menargetkan Python 3.11

    • Tidak ada penyebutan tentang GIL
    • Ada peringatan bagi pengguna Python untuk tidak mengklik tautan quick start
  • Mempertanyakan use case GraalPy

    • Ada pendapat bahwa mereka tidak mengerti mengapa harus menggunakan GraalPy
  • Pertanyaan apakah GraalPy harus dijalankan hanya di GraalVM, atau apakah itu juga memungkinkan di implementasi JVM lain

 
ahwjdekf 2024-09-29

Proyek yang sedang saya kerjakan sekarang adalah proyek absurd yang meminta implementasi dengan Python numpy, pandas dikerjakan di Java. Jadi sekarang saya sedang membuat semuanya dari nol. Benar-benar tidak masuk akal. Kalau pandas dan numpy didukung dengan baik di GraalPy, mungkin saya tidak perlu melakukan pekerjaan sia-sia ini. Tapi di lingkungan Windows sepertinya ada ketergantungan pada Visual Studio. Itu untuk lingkungan kompilasi C++. Dan memang idenya bagus dan berguna, tetapi saya juga khawatir bagaimana ekosistem yang begitu besar ini bisa diselesaikan tanpa gagal. Saya juga agak ragu apakah nantinya akan cukup stabil untuk dipercaya dan dipakai. Kalau itu benar-benar bisa terwujud, tentu akan sangat bagus.

 
ahwjdekf 2024-10-01

Setelah saya lihat lebih lanjut, ternyata ada bagian yang saya pahami keliru. Ketergantungan pada gcc atau vs hanya diperlukan saat menggunakan native image.