Python derleyicisi Codon yayınlandı

Startup Exaloop, Python dili için Python çalışma zamanına bağlı olmayan, çıktı olarak saf makine kodu üretebilen bir derleyici geliştiren Codon projesinin kodunu yayınladı. Derleyici, Python benzeri dil Seq'in yazarları tarafından geliştirilmekte ve gelişiminin devamı olarak konumlandırılmaktadır. Proje aynı zamanda çalıştırılabilir dosyalar için kendi çalışma zamanını ve Python'daki kütüphane çağrılarının yerini alan bir fonksiyon kütüphanesini de sunuyor. Derleyicinin, çalışma zamanının ve standart kütüphanenin kaynak kodları, C++ (LLVM'deki gelişmeler kullanılarak) ve Python kullanılarak yazılmıştır ve BSL (İşletme Kaynak Lisansı) kapsamında dağıtılmaktadır.

BSL lisansı MySQL'in kurucu ortakları tarafından Açık Çekirdek modeline alternatif olarak önerildi. BSL'nin özü, gelişmiş işlevsellik kodunun başlangıçta değişiklik için mevcut olmasıdır, ancak bir süre için yalnızca, atlatmak için ticari bir lisans satın almayı gerektiren ek koşulların karşılanması durumunda ücretsiz olarak kullanılabilir. Codon projesinin ek lisans koşulları, kodun 2.0 yıl sonra (3 Kasım 1) Apache 2025 lisansına aktarılmasını gerektirmektedir. Bu zamana kadar lisans, ticari olmayan amaçlarla kullanılması kaydıyla kopyalamaya, dağıtmaya ve değiştirmeye izin vermektedir.

Çıktı çalıştırılabilir dosyalarının performansı, C dilinde yazılmış programlara yakın olarak sunulur. CPython kullanımıyla karşılaştırıldığında, Codon kullanarak derleme yaparken elde edilen performans kazancının, tek iş parçacıklı yürütme için 10-100 kat olduğu tahmin edilmektedir. Dahası, Python'dan farklı olarak Codon, performansta daha da büyük bir artışa olanak tanıyan çoklu iş parçacığı kullanma yeteneğini de uygular. Codon ayrıca mevcut Python projelerinde derlenmiş gösterimi kullanmak için bireysel işlev düzeyinde derleme yapmanıza da olanak tanır.

Codon, yeni kitaplıklar ekleyebileceğiniz, derleyicide optimizasyonlar uygulayabileceğiniz ve hatta ek sözdizimi için destek sağlayabileceğiniz eklentiler aracılığıyla işlevselliği artırmanıza olanak tanıyan modüler bir mimari kullanılarak oluşturulmuştur. Örneğin, biyoinformatik ve finansal matematikte kullanılmak üzere paralel olarak çeşitli eklentiler geliştirilmektedir. Boehm çöp toplayıcısı belleği yönetmek için kullanılır.

Derleyici çoğu Python sözdizimini destekler, ancak makine koduna derleme Codon'un CPython'un şeffaf bir alternatifi olarak kullanılmasını engelleyen bir takım sınırlamalar getirir. Örneğin, Codon tamsayılar için 64-bit int tipini kullanırken CPython tamsayılar için sınırsız bir boyut kullanır. Büyük kod tabanları, Codon uyumluluğunu sağlamak için kod değişiklikleri gerektirebilir. Kural olarak uyumsuzluklar, belirli Python modüllerinin Codon'unun uygulanmamasından ve dilin bazı dinamik özelliklerinin kullanılamamasından kaynaklanır. Bu tür her uyumsuzluk için derleyici, sorunun nasıl çözüleceğine ilişkin bilgiler içeren ayrıntılı bir tanılama mesajı yayınlar.

Python derleyicisi Codon yayınlandı


Kaynak: opennet.ru

Yorum ekle