什么是通过调用_mm_stream_si64x()实现性能提升的示例程序
What is an example program that realizes a performance gain by calling _mm_stream_si64x()?
通过调用_mm_stream_si64x()来实现性能提升的示例程序是什么?
MSDN上关于_mm_stream_si64x的文章:http://msdn.microsoft.com/en-us/library/35b8kssy.aspx
这里有一个例子,假设源和目的地足够大:
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
,则可以有效地刷新缓存。
正如引用所说,_mm_stream_si64x内在写入Dest直接指向的内存位置,而不将Dest写入缓存。因此,如果您想将数据复制到Dest指针,但在很久以后才计划从Dest指针访问数据,那么此内部函数将比等效的_mm_stream_si64内部函数"实现性能提升"。
相关文章:
- 了解算法的性能差异(如果以不同的编程语言实现)
- C++分离功能,实现性能优化
- 为什么 C++ 代码实现的性能不比 python 实现更好?
- 为什么用于阈值矩阵元素的 Matlab 逻辑索引操作在性能上优于 mex 实现?
- 将函数及其实现移动到与主文件不同的文件(.hpp 和 .cpp)时,性能会受到很大影响
- 为什么这个普通的数组实现比STD ::向量实现性能慢
- 具有良好性能的c++映射实现
- Google Protobuf基于C++的python实现的性能
- 考虑 CPU 提升模式的多线程超线性性能实现
- 什么是通过调用_mm_stream_si64x()实现性能提升的示例程序
- 在 C++98 中实现移动构造函数和移动赋值运算符以获得更好的性能
- 性能不佳基于OpenCL的OpenCV平方实现
- 快速容器,实现一致的性能
- 并提高.进程间牺牲性能来实现可移植性
- 在c++中实现长方程时,如何通过高级方法提高性能?< / h1 >
- c++性能技术报告TR 18015中使用了哪些实现
- 并行线程执行以实现性能
- R stats::sd()与arma::stddev()与Rcpp实现的性能
- Dijkstra算法实现的性能
- c++仅用一行代码就实现了巨大的性能差异