最適化するとここまで早くなるのかと感心した@HIROCASTERでございませう。
Google I/O 2012 のなかで発表されたV8エンジン向けのJavaScript最適化の話です。
15.5秒ほどかかっていた処理が0.04秒まで高速化しています。
動画は長いので、スライドの方が理解するのが早いかと。
Google I/O 2012 のなかで発表されたV8エンジン向けのJavaScript最適化の話です。
15.5秒ほどかかっていた処理が0.04秒まで高速化しています。
- Initialize all object members in constructor functions
- Always initialize object members in the same order
- Prefer numeric values that can be represented as 31-bit signed integers
- Use contiguous keys starting at 0 for Arrays
- Don’t pre-allocate large Arrays (>64K elements) to their maximum size, instead grow as you go
- Don’t delete elements in arrays, especially numeric arrays
- Don’t load uninitialized or deleted elements
- Initialize using array literals for small fixed-sized arrays
- Preallocate small arrays to correct size before using them
- Don’t store non-numeric values (objects) in numeric arrays
- Prefer monomorphic over polymorphic wherever possible
- Don’t use try {} catch {} blocks
- Avoid hidden class changes in functions after they are optimized
ちょっとした書き方を変えるだけで、実現できることはありますね。
動画は長いので、スライドの方が理解するのが早いかと。
元記事はこちら → 13 JavaScript Performance Tips » Jon Fox
パーフェクトJavaScript (PERFECT SERIES 4) |
テスト駆動JavaScript |