-3

_mm_stream_si64x() を呼び出すことでパフォーマンスの向上を実現するサンプル プログラムは何ですか?

_mm_stream_si64x に関する MSDN の記事: http://msdn.microsoft.com/en-us/library/35b8kssy.aspx

4

2 に答える 2

1

リファレンスにあるように、_mm_stream_si64x 組み込み関数は、Dest をキャッシュに書き込むことなく、Dest が指すメモリ位置に直接書き込みます。したがって、データを Dest ポインターにコピーしたいが、Dest ポインターからデータにアクセスする予定がずっと後になる場合、この組み込み関数は、同等の _mm_stream_si64 組み込み関数よりも「パフォーマンスが向上します」。

于 2012-04-03T21:46:59.370 に答える
1

ソースと宛先が十分に大きいと仮定した例を次に示します。

const char *source;
char *destination;
for (size_t offset= 0; offset<100*1024*1024; offset+= 64)
{
    *(__int64 *)(destination + offset)= *(__int64 *)(source + offset);
}

を使用する代わりに手動でこれを行うと_mm_stream_si64x、効果的にキャッシュがフラッシュされます。

于 2012-04-03T22:00:40.583 に答える