超越memcpy:自定义内存复制方法的性能测试
2025-08-11
作者在性能测试中发现,对于大型二进制消息,memcpy耗时较长。于是,他尝试了多种自定义内存复制方法,包括基于REP MOVSB、AVX指令集的aligned、stream aligned以及带预取的stream aligned版本,并进行了基准测试。结果显示,对于小到中等大小的消息,带循环展开的AVX版本性能最佳;对于大型消息(>1MB),带预取的stream aligned AVX版本表现最好,但小型消息性能极差。最终结论是:std::memcpy在性能和适用性上表现均衡,除非对性能有极高要求,否则无需使用自定义方法。