4

簡単な jsperf テストを実行したところ、Firefox で実行するとすべてが期待どおりに進みましたが、Google Chrome でテストを実行すると混乱しました。

このテストでは、JavaScript で関数を宣言してから呼び出すさまざまな方法をテストしています。私の推測では、Chrome は JavaScript 関数に対して何らかの最適化を行っていると思われますが、何が、なぜこのような大きな違いがあるのか​​はわかりません。これをよりよく理解するためのヘルプやリンクは大歓迎です。

テストへのリンク => http://jsperf.com/function-assignment-semicolon/2

Firefox でのテスト実行:

代替テキスト

Chrome でテスト:

代替テキスト


編集:

Firefox から得られる結果を期待していたのは、Google Chrome で実行した場合よりも遅い (各テストでかなり同じ) と予想していたからです。

4

1 に答える 1

2

デッド コード、完璧なオプティマイザはテスト内のすべてを削除します。これは、最近の Google のクランクシャフト エンジンの発表で、さまざまなニュース サイトで言及されています。スタイル間の違いは、デッド コードの最適化を実装することがいかに難しいかを示しています。

http://tech.slashdot.org/story/10/12/07/2027259/Google-Quietly-Posts-Big-JavaScript-Engine-Update

于 2010-12-09T08:19:19.360 に答える