Dunia perangkat lunak modern mengandung begitu banyak lapisan sehingga pengoptimalan dapat dilakukan di tempat yang paling tidak terduga. Temui tahun 2000, proyek HP Dynamo. Ini adalah emulator prosesor PA-8000, berjalan pada prosesor PA-8000 yang sama, tetapi dengan teknologi JIT. Dan program nyata yang berjalan di emulator akhirnya berjalan lebih cepat daripada di prosesor kosong.
td; dr - judulnya mengatakan itu semua
Pemrogram HP Labs bertanya-tanya apa yang akan terjadi jika mereka menulis kompiler JIT yang mengoptimalkan untuk platform yang sama tempat kerjanya. Pekerjaan itu memakan waktu beberapa tahun. Dimungkinkan untuk menjalankan binari asli yang tidak dimodifikasi di bawah emulator. Dan hasilnya agak tidak terduga.
Mereka mencari "jalur panas" di emulator dan mengoptimalkan alur eksekusi kode. Dengan demikian, biaya untuk melompat, memanggil fungsi, perpustakaan dinamis, dan mengoptimalkan pekerjaan dengan cache prosesor berkurang. Hasil peningkatan kinerja mencapai +22%, rata-rata untuk tes ternyata +9%.
Catatan singkat ini ditulis agar seseorang dapat mempelajari sesuatu yang baru, tetapi tidak ada gunanya membahas detail yang sangat teknis 20 tahun yang lalu.
Jika ada yang tertarik dengan detailnya:
1.http
: //cseweb.ucsd.edu/classes/sp00/cse231/dynamopldi.pdf 2.https ://stackoverflow.com/questions/5641356/why-is-it-that-bytecode-might-run-faster -than-native-code / 5641664 # 5641664 3.https
: //en.wikipedia.org/wiki/Just-in-time_compilation