Lucen: iki yorumla Python döngülerini paralelleştirir, bit-bit aynı sonuç
Lucen, iki yorum satırıyla Python döngülerini paralelleştirir ve sıralı çalıştırmayla bit-bit aynı sonucu garanti eder. Rust çekirdekli, v1.1, Apache-2.0.
Lucen, sıradan Python for döngülerini yalnızca `# LUCEN START` ve `# LUCEN END` yorum satırlarıyla işaretleyerek paralel hale getiren bir kaynaktan-kaynağa derleyicidir. Dönüşümün güvenli olduğunu ve iş yükünün paralelleştirmeye değer olduğunu statik analizle kanıtlayabildiği durumlarda döngüyü paralelleştirir; aksi halde döngü sıralı haliyle çalışmaya devam eder.
Projenin temel garantisi, paralel ve sıralı çalıştırmaların bit düzeyinde aynı çıktıyı üretmesidir; kayan nokta sonuçları ve konteyner sıralaması dahil. Yorum satırlarını silmek davranışı hiç değiştirmemelidir - bu da Lucen'i, mantığın yeniden yazılmasını veya belirsiz sonuçların kabul edilmesini gerektiren tipik paralel kütüphanelerden ayırır.
Motor tarafında, CPU-yoğun işler standart (GIL'li) Python derlemelerinde ayrı süreçlere, free-threaded Python 3.13/3.14'te ise gerçek thread'lere yönlendirilir. Opsiyonel bir Rust çekirdeği derleyiciyi hızlandırırken, saf Python fallback'i `pip install lucen` komutunun bağımlılıksız çalışmasını sağlar. v1.1 sürümünde proje Apache-2.0 lisanslı olarak, diferansiyel ve property-based testler, TLA+ spesifikasyonları ve imzalı PyPI sürümleriyle sunuluyor; multiprocessing, joblib veya manuel kilitlemeye başvurmadan CPU-yoğun döngülerinde ekstra çekirdek gücü isteyen mühendisleri hedefliyor.