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が最速と思っていたんですけど・・・。
納得いく理由が思いつかないから、計測の仕方間違えてるんじゃないかとさえ思える・・・何か理由わかる人いたら教えてください。