โครงการ asm.js เป็นการริเริ่มของค่าย Mozilla ในการเร่งความเร็ว JavaScript ด้วยเทคนิคการคอมไพล์แบบแปลงโค้ดอัตโนมัติแล้ว optimize ที่ระดับโค้ด โครงการนี้เริ่มใช้กับ Firefox แต่ภายหลัง Chrome/Opera ก็รองรับตามมา
Microsoft Edge เป็นเบราว์เซอร์ตัวล่าสุดที่รองรับเทคนิค asm.js โดยผู้ใช้สามารถทดลองได้โดยเปิด flag ในหน้า about:flags แล้ว
Humble Bundle หน้าร้านขายเกมแบบตั้งราคาได้เองเปิดตัว Humble Mozilla Bundle โดยใช้เทคโนโลยี asm.js คอมไพล์เกมให้รันบนเบราว์เซอร์ได้โดยตรง ไม่ต้องลงปลั๊กอินใดๆ เพิ่มเติม
การใช้ asm.js ทำให้เกมทั้งหมดสามารถรันได้บน Windows, OS X, และ Linux ได้ทันที โดยตอนนี้มีข้อจำกัดว่ารองรับเฉพาะไฟร์ฟอกซ์และกูเกิลโครมเท่านั้น
ความพิเศษของ asm.js ทำให้หน้าเว็บ Humble Bundle สามารถกดเล่นเดโมได้ทันที โดยมีเกมที่เข้าร่วมในโครงการนี้ได้แก่ Super Hexagon, AaaaaAAaaaAAAaaAAAAaAAAAA!!! for the Awesome, Osmos, Zen Bound 2, Dustforce DX, และ Democracy 3 โดยทาง Humble Bundle ระบุว่าจะมีเกมเพิ่มอีกเกมเร็วๆ นี้
ขณะที่ฝั่ง Chrome กำลังพัฒนา NaCl เพื่อการรันโค้ดแบบเนทีฟในเบราว์เซอร์ ทางฝั่ง Mozilla ผู้พัฒนาไฟร์ฟอกซ์นั้นหันไปพัฒนา asm.js มาตรฐานที่เน้นการออปติไมซ์บางส่วนของจาวาสคริปต์เพื่อให้คอมไพล์ภาษา C/C++ มาเป็น asm.js ได้ และรันได้ความเร็วใกล้เคียงเนทีฟ ตอนนีทาง Mozilla ก็ออกมาแถลงผลการปรับปรุงรอบล่าสุดว่าช้าที่สุดไม่เกิน 1.5 เท่าของโค้ดแบบเนทีฟจากคอมไพล์เลอร์ clang แล้ว
การเปรียบเทียบนี้เทียบโดยใช้ clang 3.2 เป็นฐาน และข้อมูลก็แสดงให้เห็นว่าที่จริงแล้ว GCC สามารถคอมไพล์ได้ประสิทธิภาพสูงกว่าในหลายกรณี ชุดทดสอบหลายชุดหากเทียบประสิทธิภาพโค้ดที่ได้กับ GCC แล้ว asm.js ก็ยังช้ากว่าเป็นเท่าตัวอยู่
ข่าวนี้ต้องย้อนกันหลายชั้นหน่อยครับ เริ่มจาก โครงการ asm.js ของ Mozilla, Mozilla จับมือ Epic Games ทำเดโม Unreal Engine 3 บนเบราว์เซอร์, Chrome ประกาศรองรับ asm.js บ้าง
สำหรับข่าวนี้ ล่าสุด Chrome และเบราว์เซอร์อีกรายคือ Opera รองรับ asm.js ได้ดีขึ้นเยอะมากแล้ว (Chrome 31 และ Opera 18) สามารถรันเดโม Epic Citadel ได้แล้ว และทาง Epic เองก็ขึ้นชื่อของ Chrome/Opera เป็นเบราว์เซอร์ที่สามารถรันเดโมได้แล้ว
จากข่าวเก่า Firefox เริ่มใช้ OdinMonkey/asm.js รีดประสิทธิภาพของ JavaScript และจับมือ Epic Games พอร์ท Unreal Engine 3 มารันบนเบราว์เซอร์
ล่าสุดฝั่งกูเกิลมีความเคลื่อนไหวในเรื่องนี้แล้ว โดยทีมงาน Chrome เริ่มวางแผนรองรับ asm.js ในเอนจิน JavaScript V8 และประเมินว่าไม่น่าจะต้องใช้ทรัพยากรในการพัฒนามากนัก แต่ผลที่ได้จะออกมาคุ้มค่า
Chrome มีโครงการคล้ายๆ กัน (แก้ปัญหาเดียวกันแต่คนละวิธี) คือ NaCl และ Dart อยู่แล้ว ทั้งหมดเป็นความพยายามในการเร่งประสิทธิภาพของ JavaScript ภายในเบราว์เซอร์ให้ดีขึ้นนั่นเอง
Firefox เริ่มใช้เอนจิน OdinMonkey เพื่อรีดประสิทธิภาพของ JavaScript ในเบราว์เซอร์ให้ดีขึ้นอีกหลายเท่าตัว
หลักการทำงานของ OdinMonkey จะซับซ้อนอยู่บ้างครับ อธิบายแบบสั้นๆ คือ JavaScript ไม่ได้ออกแบบมาสำหรับงานประมวลผลหนักๆ ตั้งแต่แรก ทำให้งานบางอย่างเช่นการคำนวณทศนิยม (floating point) ไม่มีประสิทธิภาพมากนัก ฝั่งของกูเกิลจึงแก้ปัญหานี้ด้วย NaCl หรือการนำโค้ดแบบ native ไปรันร่วมกับโค้ด JavaScript แทน