teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

注意事項を最後に追加

2017/08/23 13:04

投稿

raccy
raccy

スコア21784

answer CHANGED
@@ -192,4 +192,6 @@
192
192
 
193
193
  他にも書き方は色々ありますので、試して見ると良いでしょう。
194
194
 
195
- JavaScriptの歴史からすると、ネイティブのforEachやmap、reduceというのはES5からであり比較的最近です。単なるfor(;;)文に比べてJavaScriptエンジン内での最適化がまだまだ甘い可能性はあると思われます。underscore.jsやlodashは速度を高めるためにfor(;;)を内部で使っているという話ですので、呼び出しのオーバーヘッド分ぐらいしか差が出なかったのかも知れません。
195
+ JavaScriptの歴史からすると、ネイティブのforEachやmap、reduceというのはES5からであり比較的最近です。単なるfor(;;)文に比べてJavaScriptエンジン内での最適化がまだまだ甘い可能性はあると思われます。underscore.jsやlodashは速度を高めるためにfor(;;)を内部で使っているという話ですので、呼び出しのオーバーヘッド分ぐらいしか差が出なかったのかも知れません。
196
+
197
+ なお、この結果は上の【環境】に書いたNode.jsでの話であって、他のJavaScriptエンジンでは変わる可能性が十分にあります。Node.jsのバージョンや各ライブラリのバージョンによっても全く違う結果になる場合もありえますので、ご注意ください。