Swift3.0で繰り返し処理の速度比較
処理速度の速い今となっては意味があるかわからないが、
とりあえず気になったから検証してみる
(計測方法が合ってるか不安あり)
比較項目
- for-in (単純列挙)
- forEach (単純列挙)
- enumerated (index付列挙)
- enumerated.map (index付列挙)
実験環境
- Xcode8.0 (8A218a)
- Swift3.0
- Playground
結果
処理 | 時間 |
for-in | 0.000577032566070557 |
forEach | 0.000515997409820557 |
enumerated | 0.000134050846099854 |
enumerated.map | 0.000425994396209717 |
enumeratedが最速ってことで本当にいいんですかね?
(さりげなくSwift2.0でenumerateだったのが、enumeratedに変わってるのね。コメントは綴り間違えてるし)
実験前はindexとか余計なものが付かないfor-in
かforEach
が最速と思っていたんですけど・・・。
納得いく理由が思いつかないから、計測の仕方間違えてるんじゃないかとさえ思える・・・何か理由わかる人いたら教えてください。