必要な関数を作成しましょう C言語編
■ このスレッドは過去ログ倉庫に格納されています
0034デフォルトの名無しさん
2005/04/13(水) 23:52:44けど、とにかく高速に処理をしたいと思っています。
何か良い方法はありますか?
とりあえず、今は・・・
1.先頭のアドレスが4の倍数になるまで1バイトずつゼロクリア。
ゼロクリアの確認はゼロクリアした領域をORして0になっているか確認。
2.先頭アドレスが4の倍数になったら4バイトずつゼロクリア。確認方法は上と同じ。
3.残りの端数をゼロクリア
なお2の処理が一番のメインになるのだが、ループしてゼロクリアする際にループの中で処理を展開することで
ループ回数を減らしている。
例)10000回のループであった場合、1回のループでクリア処理を10回行い、ループ回数を1000回にする・・・など
一応この方法で300KBのバッファを
昔(普通にループしてクリア)712ms
今(上の処理を利用してクリア)92ms
でした。
さらに早くはなるでしょうか?
■ このスレッドは過去ログ倉庫に格納されています