IonMonkey : Javascript Engine ตัวใหม่ของ Firefox

by nant
3 May 2011 - 13:55

Mozilla ได้พัฒนาระบบ JavaScript engine ตัวใหม่ ชื่อว่า IonMonkey ซึ่งเป็นคอมไพเลอร์ที่ใช้เทคนิค SSA เพื่อ optimize ไบต์โค้ดในหลายๆ ส่วนที่ JägerMonkey ไม่สามารถทำได้ โดยการปรับปรุงนี้มีอาทิเช่น การรวมฟังก์ชันมากกว่าหนึ่งฟังก์ชันใดๆ เป็นฟังก์ชันเดียว (inlining) การเลือกชนิดข้อมูลให้เหมาะสมกับตัวแปรมากขึ้น การปรับปรุงประสิทธิภาพในการจองรีจิสเตอร์ การกำจัดไบต์โค้ดส่วนที่ไม่มีประโยชน์ทิ้ง ปรับปรุงประสิทธิภาพของการทำนายการ branch ในไบต์โค้ด รวมถึงการปรับปรุงการใช้หน่วยความจำของตัว engine เองให้น้อยลง

นอกจากนี้ ยังมีการปรับปรุงในส่วนของ garbage collector โดยการปรับปรุงนี้จะเปลี่ยนไปใช้ garbage collector แบบใหม่ที่เรียกว่า generational GC ซึ่งจะช่วยให้การทำงานเร็วขึ้นถึง 40% เมื่อเทียบกับ TraceMonkey หรือ Crankshaft เลยทีเดียว

ทาง Mozilla วางแผนจะพัฒนา IonMonkey ให้เสร็จทัน Firefox 5

หมายเหตุผู้เขียนข่าว SSA(Static Single Assignment) เป็นเทคนิคในการ optimize ผลลัพธ์ของไบต์โค้ดที่คอมไพล์ได้จากคอมไพเลอร์ สามารถอ่านได้จาก ที่นี่

ที่มา - David Mandelin's blog

Blognone Jobs Premium