Swift part9 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0166デフォルトの名無しさん (ワッチョイ 5e93-m5qj)
2016/11/09(水) 23:28:51.38ID:LFfTZCZj0古い話を蒸し返して悪い
>for eachで+2づつイテレートしたらC-style forより1,000倍遅かったのにはびっくりしたわ、+1づつなら同程度速度だったけどさ
ソース見てないから想像しかできないけど
for文だけで1000倍遅いと言うのはやっぱり変
速度計測が正しいと仮定して
+1で同速だから+2で1000倍違うのであればコンパイラの最適化問題の可能性が高いと思う
+2にするためにfor eachの中だけでifとか3項演算子とかの条件判断してんじゃ無いかな?
定数や単純な計算に展開できるようなfor文だったら
最適化が崩れるだけで1000倍くらいは軽く違ってくる
もちろん最適化しやすいかどうかは言語仕様の重要なポイントだけど
+2のc style forと比較すべきは
対象データ配列.lazy.filter.foreach
とか
for in stride
とかじゃないかな?
■ このスレッドは過去ログ倉庫に格納されています