Dua konsep mungkin membantu kita memahami lebih baik mengapa Python dikompilasi ke kode mesin asli "mungkin" tidak berjalan secepat kompilasi C atau bahasa yang dikompilasi lainnya. Mereka disebut mengikat awal dan mengikat terlambat.
Saya harus mulai dengan mengatakan saya bukan ahli Python, dan saya datang ke situs ini secara tidak sengaja. Tapi saya suka situs ini.
Seperti disebutkan dalam respons lain di sini, kompiler C ++ dapat mengetahui banyak tentang program dan membuat keputusan tentang operasi mana yang akan digunakan untuk struktur data tertentu. Sebagai contoh jika dua variabel integer perlu ditambahkan bersama-sama, kompiler tahu mereka adalah integer asli, lebar 32 bit misalnya dan dapat menambahkannya bersama dengan satu instruksi "ADD". Jadi kompilasi instruksi ADD ke dalam kode. Terkunci dan tidak dapat diubah saat program sedang berjalan. Itu mengikat awal.
Di sisi lain dalam bahasa seperti Python kita bisa mengharapkan program untuk membuang berbagai jenis data bersama dengan cara yang kompleks. Sekarang kompiler tidak tahu apakah 2 variabel kita adalah bilangan bulat, float, string atau daftar. Jadi ia harus mengkompilasi kode yang menentukan informasi itu pada waktu menjalankan dan memilih operasi yang benar ketika program sedang berjalan. Ini mengikat terlambat dan kita dapat memahami bahwa akan ada hit kinerja untuk melakukan pekerjaan ekstra saat program sedang berjalan. Ini adalah harga yang Anda bayar untuk membiarkan opsi-opsi itu terbuka dalam bahasa seperti Python tetapi itu memberikan fleksibilitas run-time maksimum.