2009-10-04 60 views
0

是否有可能檢測到Firefox瀏覽器正在運行TraceMonkey JavaScript解釋器?如果是這樣,是否可以用JavaScript來做到這一點?涉及檢查瀏覽器二進制文件或共享庫的解決方案對我來說也是可以的。我現在用Firefox 3.0.14運行Linux。如何檢測TraceMonkey?

+4

你想達到什麼樣的目標? – 2009-10-04 18:32:00

+0

我想基準我的JavaScript代碼,爲此我想知道瀏覽器是否運行TraceMonkey。在我看來,我的數字處理JavaScript在Firefox 3.0.14和Firefox 3.5.2上的運行速度大致相同,後者速度僅提高了10%。我毫不猶豫地相信這一點,因爲TraceMonkey應該快得多。 – pts 2009-10-04 19:19:37

+0

我相信TraceMonkey的主要優勢在於提供控制流等領域的效率;如果你的代碼確實是「數字處理」,那麼就沒有任何理由期待一個巨大的改進,因爲所有的數字處理都已經在本地代碼中完成了。例如,如果您正在遍歷數組的元素並對它們應用計算,則迭代的開銷將減少,但實際計算仍將由與之前相同的本地代碼例程執行,並會顯示沒有改善。 – NickFitz 2009-10-05 02:31:21

回答

3
  1. 輸入 「about:config中」 爲URL
  2. 說你會小心
  3. 搜索 「JIT」

,如果是通過查看使您可以檢查:

javascript.options.jit.chrome - >瀏覽器UI和插件

javascript.options.jit.content - > Web內容

(你也可以改變這些值)

BTW。如果你的代碼有點複雜,不要期望獲得與V8相媲美的速度。 Tracemonkey失敗與分行代碼(它可能比spidermonkey慢)。

更多信息:http://hacks.mozilla.org/2009/07/tracemonkey-overview/

+0

感謝您的幫助。只有Firefox 3.5有這些JIT選項,Firefox 3.0.14沒有這些選項。 (僅對內容啓用。)但是,對於我的JavaScript代碼,在Firefox 3.5.2中關閉JIT並沒有任何區別。 – pts 2009-10-04 21:22:25

+0

Tracemonkey僅適用於FF版本3.5及更高版本。但是在開發版本3.6和3.7中,對於非複雜的代碼來說,它仍然是無用的。儘量保持循環儘可能簡單,以獲得JIT的好處。 – Peter 2009-10-05 19:56:56

0

所以,3.0不具備的TraceMonkey,以及關於你的評論,在3.5它不工作,要麼 - 你或許運行發行版提供的64位?我記得讀到,tracemonkey在64位版本上被禁用(該支持僅在最近實現,不在Firefox 3.5中)。