Firefox 18 เริ่มใช้เอนจินจาวาสคริปต์ตัวใหม่ IonMonkey ประสิทธิภาพดีขึ้น 26%

by mk
13 September 2012 - 12:36

Blognone เคยลงข่าวของ IonMonkey : Javascript Engine ตัวใหม่ของ Firefox ไปนานจนหลายๆ คนลืมไปแล้ว (ผมก็ลืม) วันนี้มันเริ่มถูกใช้งานจริงใน Firefox 18 ที่ยังมีสถานะเป็น nightly อยู่

เว็บเบราว์เซอร์ของค่าย Mozilla เปลี่ยนเอนจินจาวาสคริปต์มาหลายตัว (จริงๆ มันเป็นตัวเดียวกันแต่พัฒนาขึ้นเรื่อยๆ เลยเปลี่ยนชื่อบ่อย) เริ่มจาก SpiderMonkey ที่ตกทอดกันมาตั้งแต่สมัย Netscape, TraceMonkey เริ่มใช้ใน Firefox 3.1/3.5, JägerMonkey ใน Firefox 4 และพัฒนามาเป็น IonMonkey ในที่สุด

IonMonkey ต่างไปจาก TraceMonkey และ JägerMonkey อยู่พอสมควร เพราะเอนจินรุ่นพี่ใช้แนวทางแปลงโค้ดจาวาสคริปต์เป็นภาษาเครื่องโดยตรง แต่ IonMonkey ใช้แนวทางคล้ายกับ Java/.NET คือแปลงเป็นภาษาคั่นกลางก่อนแล้วค่อยแปลงเป็นภาษาเครื่องอีกทีหนึ่ง (IonMonkey ใช้คำว่า intermediate representation หรือ IR)

อย่างไรก็ตาม IonMonkey ไม่ได้แปลงโค้ดจาวาสคริปต์เป็น IR เพื่อนำไปทำงานบนรันไทม์เหมือนกับ Java/.NET แต่แปลงเป็น IR เพื่อให้คอมไพเลอร์มีโอกาสทบทวนการแปลงโค้ดอีกหนึ่งรอบ และรีดเร้นประสิทธิภาพของโค้ด (optimize) ด้วยอัลกอริทึมต่างๆ ก่อนจะแปลงเป็นภาษาเครื่องในรอบที่สอง

ผลคือประสิทธิภาพของจาวาสคริปต์ที่ดีขึ้นมาก กราฟด้านล่างเป็นผลการทดสอบกับเบนช์มาร์คมาตรฐาน Kraken และ V8

Firefox 18 ทำคะแนนได้ดีกว่า Firefox 15 อยู่ประมาณ 26%

Firefox 18 ทำคะแนนได้ดีกว่า Firefox 15 อยู่ประมาณ 20%

ต่อจากนี้ทีมพัฒนา IonMonkey จะปรับแต่งการทำงานของมันให้ดียิ่งขึ้น เราจะได้ใช้มันจริงๆ ตอนที่ Firefox 18 ออกในเดือนพฤศจิกายน (ถ้าออกตามกำหนด) เอนจินตัวนี้จะไปอยู่บน Firefox for Android ด้วย แต่ยังไม่มีข้อมูลว่าจะได้ใช้พร้อมกับรุ่นพีซีหรือไม่ (ส่วน Firefox Metro คงอดเพราะนโยบายของไมโครซอฟท์)

ที่มา - Mozilla JavaScript, CNET

Blognone Jobs Premium