SIMD memcpy导致整体性能下降?感谢评论的提示,贴一下循环体部分的汇编,左边是AVX、右边是普通的。 [图片] 我觉得有可能是普通版本编译器优化后省了几次写内存的操作?我再改下代码,…我猜是操作系统中断过程需要保存更多的寄存器。可能你加了其它计算,执行的时间长,就会发生更多的时钟中断,更多次进程调度。印象里系统有标
问题产生的原因是编译器优化导致使用普通的memcpy没有真正的写内存,详情见问题补充。
Turbo Base64 - Fastest Base64 SIMD:SSE/AVX2/AVX512/Neon/Altivec - Faster than memcpy! - powturbo/Turbo-Base64