İki kavram, Python'un yerel makine koduna göre derlenmiş "neden" derlenmiş C veya diğer yaygın derlenmiş diller kadar hızlı çalışamadığını anlamamıza yardımcı olabilir. Bunlara erken bağlama ve geç bağlama adı verilir.
Python uzmanı olmadığımı söyleyerek başlamalıyım ve bu siteye tesadüfen geldim. Ama bu siteyi seviyorum.
Buradaki başka bir cevapta da belirtildiği gibi, C ++ derleyicisi program hakkında çok şey bilir ve belirli veri yapıları için hangi işlemlerin kullanılacağına ilişkin kararlar alabilir. Bir örnek olarak, iki tamsayı değişkeninin birlikte eklenmesi gerekiyorsa, derleyici, bunların yerel tamsayılar olduğunu bilir, örneğin 32 bit genişliğindedir ve bunları bir "ADD" komutu ile ekleyebilir. Böylece ADD komutunu kodun içine derler. Kilitlendi ve program çalışırken değiştirilemez. Bu erken bağlayıcıdır.
Öte yandan Python gibi bir dilde, programın farklı türden verileri karmaşık şekillerde bir araya getirmesini bekleyebiliriz. Şimdi derleyici 2 değişkenimizin tamsayı, kayan nokta, dizge veya liste olup olmadığını bilmiyor. Bu nedenle, çalışma zamanında bu bilgiyi belirleyen ve program çalışırken doğru işlemi seçen kodu derlemesi gerekir. Bu geç bağlayıcıdır ve program çalışırken bu ekstra işi yapmak için bir performans artışı olacağını anlayabiliriz. Bu seçenekleri Python gibi bir dilde açık tutmak için ödediğiniz ücret ancak maksimum çalışma süresi esnekliği sağlar.