Minggu, 14 September 2008

Keunggulan Chrome (2). Javascript Virtual Machine yang benar-benar baru.


Chrome memiliki Javascript Virtual Machinenya sendiri. Virtual Machine yang digunakan pada browser-browser lain dirancang bertahun-tahun lalu ketika penggunaan aplikasi web based belum se-ekstrim sekarang. Namun Virtual Machine pada Chrome benar-benar dibuat ulang dari 0 (nol) lagi, dengan memperhatikan kepada kebutuhan user saat ini.
Saat ini, tanpa kita sadari, kita selalu dilayani oleh Javascript setiap kita menjelajahi jagat maya. Dahulu, penggunaan Javascript belum sepenting saat ini, bahkan banyak web yang sama sekali tidak menggunakan Javascript pada waktu itu, namun saat ini Javascript telah menjadi bagian yang sangat-sangat vital bagi denyut nadi kehidupan di jagat maya ini….(Geek banget ya bahasanya ?). Oleh karena itu, penanganan javascript yang baik benar-benar mendapat perhatian yang sangat besar dari Google.
Javascript Virtual Machine pada Chrome dibuat oleh V8 Team yang ada di Denmark. V8 Team ini sudah sangat terkenal akan kemampuannya dalam membuat berbagai Virtual Machine, sehingga virtual machine yang diterapkan di Chrome ini sudah tidak perlu diragukan lagi kualitasnya. Dan untuk selanjutnya, Javascript Virtual Machine yang ada pada Chrome ini akan disebut dengan nama V8.
V8 dapat berjalan jauh lebih cepat dibanding virtual machine lain, sebab V8 dapat secara dinamis mengoptimalkan penggunaan Javascript dengan cara membuat Javascript yang tadinya bersifat Classless menjadi lebih berkelas…hehe..maksudnya menjadi seolah ber-Class (masih ngebingungin juga ya ?). Setiap object yang memiliki properti yang sama pada V8 akan berbagi Hidden Class yang sama pula.
Faktor lain yang menyebabkan V8 dapat berjalan jauh lebih cepat dibanding Virtual Machine atau Javascript Engine lain adalah karena V8 langsung mengcomplie javascript yang mereka temukan, dan bukan meng-interpret-nya seperti yang dilakukan oleh engine lain. Program yang dicompile akan berjalan jauh lebih cepat dibanding program yang di-interpret, sebab begitu suatu source code dicompile, maka source code itu akan langsung menjadi bahasa mesin. Mesin (CPU) akan lebih senang (cepat) menjalankan program yang bahasanya dapat dengan mudah mereka mengerti…hehe..
 Salah satu permasalahan yang paling parah dalam Javascript adalah masalah Garbage Collection. Virtual Machine lain yang ada saat ini tidak mampu mengenali sampah-sampah yang mereka hasilkan sendiri, sehingga untuk membersihkannya pun mereka menggunakan metode Conservative Garbage Collection, yang berarti mereka ngasal aja ngumpulin sampahnya. Sedangkan pada V8 mereka mampu mengenali sampah dengan tepat, sehingga mereka dapat memilah mana sampah yang benar-benar harus dibuang, dan mana yang masih bisa digunakan. Dengan begitu mereka dapat menerapkan metode Precise Garbage Collection, dan Incremental Garbage Collection yang membuat mereka dapat membersihkan sampah hampir dalam waktu seketika itu juga ketika sampah itu dihasilkan.
 Oke deh, berarti sejauh ini saya sudah bahas mengenai manajemen memory pada Chrome, dan Javascript Virtual Machinenya. Selanjutnya saya mau ngebahas apa lagi ya..? hmm…tunggu aja postingan berikutnya (^_^).
Click disini untuk membaca postingan lain mengenai Chrome.