C/C++ Hızına İhtiyacınız Varsa Python Derleyicisi Codon Göz Atın

Codon, herhangi bir çalışma zamanı ek yükü olmadan Python kodunu yerel makine koduna derleyen yüksek performanslı bir Python derleyicisidir. Python üzerindeki tipik hızlanmalar, tek bir iş parçacığında (single thread) 10-100x veya daha fazladır. Codon'un performansı tipik olarak C/C++ ile eşittir (ve bazen ondan daha iyidir). Python'dan farklı olarak Codon, daha da fazla hızlanmalara yol açabilen yerel çoklu iş parçacığını (native multithreading) destekler.

Bununla birlikte, Codon tüm Python'u desteklemez ve dinamik tür manipülasyonunu ve çalışma zamanı yansımasını atlar, bu da kodun analiz edilmesini ve optimize edilmesini zorlaştırır. Bununla birlikte, statik olarak yazılan bir derleyici motoru ve esnek ara gösterim (IR) ile eskisinden daha hızlı kod üretir.

Codon başlangıçta Python'da yüksek performanslı etki alanına özgü diller (dsl'ler) oluşturmak için tasarlandı. Dsl'ler, Python veya C gibi genel amaçlı dillerin aksine, belirli amaçlara odaklanan dillerdir. Biyoinformatik ve genetik için bir DSL olan Seq'de kökleri olan Codon, Python 3 ile büyük ölçüde uyumlu bir dil derleyicisine dönüşmüştür.

Codon'un "Python'un sözdizimini ve anlambilimini ek alana özgü özellikler ve IR optimizasyonları ile birlikte paylaşan dsl'lerin geliştirilmesine olanak sağladığını" açıkladılar." Python çalışma zamanı yükü olmadan yerel makine kodunu çıkararak Codon, Python komut dosyalarıyla C benzeri bir performans elde eder.

Python kodunun derlendikten sonra hız karşılaştırmasına göz atalım.

from time import time

def fib(n):
    return n if n < 2 else fib(n - 1) + fib(n - 2)

t0 = time()
ans = fib(40)
t1 = time()
print(f'Computed fib(40) = {ans} in {t1 - t0} seconds.')
$ python3 fib.py
Computed fib(40) = 102334155 in 17.979357957839966 seconds.

$ codon run -release fib.py
Computed fib(40) = 102334155 in 0.275645 seconds.

Python ve Codon ile arasında hız farkını bariz bir şekilde görebiliyoruz.

Girl Eating Pizza

Codon, herhangi bir çalışma zamanı ek yükü olmadan Python kodunu yerel makine koduna derleyen yüksek performanslı bir Python derleyicisidir.

Girl Eating Pizza

Python ve standart HTML'yi birleştirerek tarayıcıda zengin Python uygulamaları oluşturmasını sağlar. PyScript , Port of CPython to Web Assembly (WASM)/ Emscripten olan pyodide projesine dayalı bir çerçevedir.

Girl Eating Pizza

Python ve standart HTML karışımı kullanılarak tarayıcıda çalıştırılabilen bir python scriptidir(Aynı javascript gibi). Bu, web uygulamaları oluşturmak için güçlü bir araç olabilir.

Girl Eating Pizza

Python programlama dilinde karakteri kodlanmış ascii veya unicode'a dönüştürmek, ord() ve chr() fonksiyonları ile yapılabilir.

Girl Eating Pizza

Python popüler çünkü öğrenmesi ve okuması çok zor değil. Bu, yeni başlayanlar veya başka bir programlama dili öğrenmeden kodlarını daha verimli hale getirmenin bir yolunu arayanlar için idealdir.

Girl Eating Pizza

Daha yeniyseniz Java öğrenmenize gerek yok! sözü yanlıştır. Java hem Web Arka Uç Geliştirme hem de Android Uygulama Geliştirme için kullanılabilir! Python'dan daha popüler olduğunu biliyor musunuz?

Girl Eating Pizza

len() demetimizin uzunluğunu döndürür.Giriş demet = (41,29)print(len(demet))Çıkış 2

Girl Eating Pizza

Listedeki elemanları sıralayan metotdur.Örneğin rasgele oluşturulmuş bir liste var biz listemizi küçükten büyüğe sıralamak için sort fonksiyonunu kullanırız. Giriş

Girl Eating Pizza

Listedeki elemanların yerlerini ters çeviren metotdur, yani yer değiştirmedir.Örneğin elimizdeki liste küçükten büyüğe doğru sıralanmış ama biz listemizi büyükten