2008-10-21 58 views
2

我想知道,如果有任何泛泛而在執行給定的指令VS另一個相關的成本(所有的JavaScript引擎在那裏之中)。在JavaScript中執行指令的代價是否有任何普遍性?

例如,eval()函數比調用已經被宣佈爲功能更慢。

我想獲得一個表,幾個指令/函數調用VS絕對的成本,也許每個引擎的成本。

難道這樣的文件存在?

回答

2

這裏有一個頁面(通過我們傑出的主持人之一,不會少),讓通過瀏覽器和通用類指令的細分:

http://www.codinghorror.com/blog/archives/001023.html

上述頁面鏈接到更詳細的分類在這裏:

http://www.codinghorror.com/blog/files/sunspider-09-benchmark-results.txt

這些頁面的既不分解性能,各個功能的水平調用或算術運算或你有什麼。儘管如此,還是有相當多的潛在有用信息。

還有對基準本身的鏈接:

http://www2.webkit.org/perf/sunspider-0.9/sunspider.html

通過查看源基準你可以得到什麼具體的函數調用正在測試一個更好的主意。

它似乎也可能是一個簡單的事情來創建您自己的基準測試版自定義版本,收集您感興趣的更具體的數據。然後,您可以在各種瀏覽器上運行修改的基準測試,甚至可能諸如browsershots.org之類的服務的優勢可用於測試各種瀏覽器。不知道如何將工作,但它可能是有趣的嘗試....

當然,有可能是在同一個瀏覽器中執行相同的操作可能需要顯著不同的時間取決於上下文中它的使用方式可能並不明顯。舉例來說,我能想象一個Javascript引擎花更多的時間來優化被頻繁執行的代碼,其結果是,在緊密循環執行的代碼可能會跑的比不經常執行相同的代碼運行得更快。當然,這在實踐中可能並不重要。儘管如此,我認爲如果您認爲這樣的結果很重要,那麼您正在尋找的一張好桌子也可能會總結出任何這樣的結果。

相關問題