1 puan yazan GN⁺ 2024-09-18 | 3 yorum | WhatsApp'ta paylaş
  • Java için yüksek performanslı, gömülebilir Python 3 çalışma zamanı
  • Python paketleri doğrudan Java içinden yüklenip kullanılabilir
  • En yeni Python yapay zeka ve veri bilimi paketleriyle uyumludur
  • Graal JIT derleyicisi sayesinde Python, yerel kod hızında çalıştırılabilir
  • Jython kullanıcıları için bir yükseltme yolu sunar
  • Java içinden Python betikleri kullanılarak Java sınıfları ve framework'leriyle etkileşim kurulabilir
  • GraalVM Native Image kullanılarak Python uygulamaları tek bir ikili dosya olarak paketlenebilir

GN⁺ Özeti

  • GraalPy, Java'da Python'u yüksek performansla çalıştırabilen bir çalışma zamanı sunar
  • Jython kullanıcılarına modern Python özelliklerini kullanabilecekleri bir yükseltme yolu sağlar
  • GraalVM'in polyglot arayüzü sayesinde Python veri bilimi kütüphaneleri Java uygulamalarına kolayca entegre edilebilir
  • Python ve Java arasındaki birlikte çalışabilirliği artırarak geliştiricilere esneklik sağlar
  • Benzer işlevler sunan projeler arasında Jython ve Py4J bulunur

3 yorum

 
GN⁺ 2024-09-18
Hacker News görüşleri
  • GraalPy ile JDK8'i karşılaştıran benchmark sonuçları paylaşılıyor

    • JDK8, GraalPython EE 22.3 Hotspot'tan yaklaşık 2,4 kat daha hızlı
    • JDK8, CPython 3.11'den 41 kat daha hızlı
    • GraalPython, CPython'dan yaklaşık 17 kat ve PyPy'den yaklaşık 2 kat daha hızlı
    • Graal Enterprise Edition (EE), Community Edition'a (CE) göre yaklaşık 1,31 kat daha hızlı
  • GraalVM ile büyük bir proje çalıştırılmaya çalışılmış ancak bazı sorunlar ortaya çıkmış

    • Maturin, Graal yorumlayıcısını desteklemediği için Py03 paketi kullanılamıyor
    • uv çalışmıyor ve os paketinde fork ile execve eksik
    • Graal, popüler kütüphanelere çok sayıda patch uygulanmasını gerektiriyor
    • Yüksek risk nedeniyle Graal'ı büyük projelerde kullanmak zor
  • GraalVM Java (veya Scala) fonksiyonlarını bridge olmadan doğrudan çağırabilirse, Spark kullanan programlar için faydalı olabileceği görüşü

  • Python'ın ilginç yanı; ML toolchain, CUDA, Metal/MLX, pytorch, tensorflow, LLM encoder/decoder gibi araçlarla entegrasyonu

    • GraalVM'in bu kodları anlamlı biçimde çalıştırıp çalıştıramayacağı sorgulanıyor
  • Clojure'da Java/Python entegrasyonunu zaten gerçekleştirmiş bir örnek var

    • Chris Neurnberger ve libpython-clj sayesinde mümkün olmuş
  • DuckDB şu anda desteklenmiyor ancak Pandas ve matplotlib destekleniyor

    • DuckDB ve Polars desteklenirse birçok veri işi için faydalı olabileceği görüşü
  • GraalPy'nin Python 3.11'i hedeflediği fark edilmiş

    • GIL hakkında bir ifade yoktu
    • Python kullanıcısıysanız hızlı başlangıç bağlantısına tıklamamanız yönünde uyarı
  • GraalPy'nin kullanım alanlarına dair soru işaretleri dile getiriliyor

    • Neden GraalPy kullanılmalı, bunu anlayamadığını söyleyen bir görüş var
  • GraalPy'nin yalnızca GraalVM üzerinde mi çalışması gerektiği, yoksa diğer JVM uygulamalarında da mümkün olup olmadığı soruluyor

 
ahwjdekf 2024-09-29

Şu anda üzerinde çalıştığım proje, python numpy, pandas ile yazılmış bir şeyi Java’da yapmamı isteyen akıl dışı bir proje. Şimdi her şeyi en baştan yeniden yapıyorum. Gerçekten saçma. Eğer GraalPy’de pandas ve numpy düzgün şekilde desteklenirse belki bu anlamsız uğraşı yapmak zorunda kalmam. Ama Windows ortamında Visual Studio bağımlılığı var gibi görünüyor. C++ derleme ortamı için. Ayrıca fikir gerçekten iyi ve kullanışlı, ama bu kadar devasa bir ekosistemi nasıl başarısız olmadan tamamlayabilecekler? Biraz endişeliyim. Acaba gerçekten güvenip istikrarlı şekilde kullanabileceğimiz hale gelecek mi, ondan da emin değilim. Ama eğer öyle olursa harika olur.

 
ahwjdekf 2024-10-01

Biraz daha incelediğimde benim yanlış anladığım bir nokta olduğunu fark ettim. gcc veya vs bağımlılığı yalnızca native image kullanıldığında gerekliymiş.