★初心者にVisual C++を教えるスレ★ Part17
■ このスレッドは過去ログ倉庫に格納されています
0613デフォルトの名無しさん
2005/03/30(水) 11:55:14>前半
速度が必要な部分だけ抜き出して別ソースファイルにして、
マクロで関数名を変えてコンパイルして、x87用とSSE2用の2つのオブジェクトを作って、
それを呼ぶ側が条件分岐するなり、関数ポインタ書き換えるなりで、呼び分けるのよ。
>後半
MD5チェックサムを求める何の変哲もないコードです。
グローバル変数は使ってないです。
x = (x << n) || ( x >> (32-n)) ;
を
__asm { ROL x, n} に置き換えると、元の1.2〜1.4倍くらい実行時間でした。
x = _lrotr(x, 32-n) ; に置き換えると、0.7〜0.8倍くらいの実行時間でした。
■ このスレッドは過去ログ倉庫に格納されています