8.25.2008

TraceMonkey - JavaScript JIT for FF 3.1

這裡 看到的,Mozilla 好厲害,寫一個 JavaScript 的JIT,讓 FF3.1 執行 javascript 的速度比 3.0 快 2 ~ 40 倍 (這裡有 benchmark)

真是超厲害的,而且不是整個 script 都拿來轉,他只會找出 loop ,重複執行很多次的部份,把他轉成 native code,大概是因為要是都轉的話,花在做 compile 的時間反而不划算吧。

類似這個以前有一家公司 transmeta (Linus 有這在這一家公司上過班),有作過類似的技術,叫 code morphing,因為他的 core 是 VLIW,在 run x86 的 code時,會動態的把一些常常 run 的 code重新 compile成 native 的 Long Intruction Word。以此達到高效能低耗電。 (可惜結果好像不太好...)。

就和文章中說得一樣,這個技術要是 release 出來後,應該會讓很多 browser base 的 rich client AP 蓬勃發展 (雖然現在已經很多)。

這一篇有詳細說明這個 JIT 的作法,可以稍微瞭解如何決定要不要compile code。




要是真能成功就好了,這樣一些 原本就很熟習 JavaScript 的網頁設計師,就不用去學新的平台了 (SilverLight, AIR..etc)。

問題:因為是 compile 成 native code,所以....應該很難做到跨平台吧,要run 在 embedded system 也不容易吧...

沒有留言: