Satu hal menarik yang saya terkejut belum ada yang disebutkan adalah perbedaan dalam jenis kompilasi JIT, karena Flash masih dikompilasi JIT, dan, di sebagian besar browser modern, begitu pula JavaScript, namun Flash adalah bahasa yang diketik dengan sangat kuat, yang berarti ada seluruh bidang optimisasi yang dapat dilakukannya (seperti memancarkan panggilan ke metode secara langsung (sesuatu yang tidak dapat dilakukan JavaScript)), yang tidak dapat dilakukan oleh JavaScript karena diketik secara dinamis. Anda dapat mengganti seluruh definisi fungsi dalam JavaScript di titik mana pun yang Anda inginkan, dan definisi baru itulah yang harus disebut. (Masih mungkin bagi JavaScript untuk melakukan panggilan tidak langsung yang tidak akan jauh lebih mahal) Akses lapangan pada suatu bidang sebenarnya adalah contoh yang lebih baik daripada metode panggilan, karena JavaScript bahkan tidak dapat melakukan ini secara tidak langsung,
Perbedaan lain dalam kinerja adalah, seperti yang telah disebutkan, GC. Saya curiga (saya belum memeriksa) bahwa sebagian besar browser menggunakan salah satu penghitungan referensi GC (karena semua memori yang dialokasikan GC untuk sebuah halaman dapat dibebaskan ketika halaman dibiarkan, itu sebenarnya salah satu tempat terbaik untuk menggunakan penghitungan referensi GC ), atau pemindaian GC konservatif (seperti Boehm). Yang terakhir dapat menjadi jauh lebih lambat dari yang sebelumnya jika tidak diterapkan dengan benar. (Boehm adalah contoh implementasi yang tepat) Flash di sisi lain menggunakan GC yang tepat (jauh lebih mudah dilakukan dalam sistem yang sangat diketik). Karena Flash menggunakan GC yang tepat, ia tidak memiliki overhead runtime penghitungan referensi. (yang tidak besar, tetapi masih ada) Contoh yang bagus dari GC yang tepat adalah Mono SGen, yang juga memadatkan tumpukan.
Kemudian muncul fakta bahwa JavaScript tidak dirancang dengan animasi dalam pikiran. (seperti yang juga disebutkan) Sejauh yang saya tahu, tidak ada browser yang akan memancarkan instruksi gaya-SSE untuk loop animasi, di mana-sebagai fungsi rendering inti dalam Flash mungkin telah dioptimalkan untuk kinerja puncak. (di beberapa tempat ditulis dalam rakitan mentah)
Semua-dalam semua, itu datang ke fakta bahwa bahasa yang dinamis akan selalu lebih lambat daripada yang diketik secara statis jika harus dikompilasi tepat waktu sehingga tidak membuat pengguna mengeluh tentang kelambatan itu.