gotoを恐れず使う兵共がfinallyや多重breakを語るスレ
■ このスレッドは過去ログ倉庫に格納されています
0529デフォルトの名無しさん
2008/02/13(水) 19:40:41*to = *from++; /* to がインクリメントされていないことに注意 */
} while (--count > 0);
これを、下のようにして最適化か。こう書いてコンパイル通る
ことすら知らなかったわw
しかし昔memcpy実装させられたとき、条件判定へらす努力したり
ワード単位でコピーしたりしたんだが、標準で用意されて
いたARMのlibcに速度が遠くおよばなくて愕然とした記憶があるなw
switch (count % 8) /* count > 0 とする */
{
case 0: do { *to = *from++;
case 7: *to = *from++;
case 6: *to = *from++;
case 5: *to = *from++;
case 4: *to = *from++;
case 3: *to = *from++;
case 2: *to = *from++;
case 1: *to = *from++;
} while ((count -= 8) > 0);
}
■ このスレッドは過去ログ倉庫に格納されています