BoostKit ARM原生加速库在调用memcpy时性能不及预期
收藏回复举报
BoostKit ARM原生加速库在调用memcpy时性能不及预期
t('forum.solved') 已解决
发表于2026-04-19 17:37:25
0 查看

我们在鲲鹏920服务器上使用BoostKit提供的ARM原生加速库,希望利用其优化的内存操作函数来提升数据处理性能。按照文档替换了标准库中的memcpy,测试程序在单线程下拷贝大块内存(比如几十MB)时性能确实有明显提升。但在实际业务场景中,程序是多线程的,每个线程都会频繁调用memcpy拷贝大小不一的内存块,从几百字节到几兆字节都有。在这种混合负载下,加速库的memcpy表现反而不如glibc默认版本,整体吞吐下降了大约15%。我们尝试过调整线程绑核和NUMA亲和性,情况没有改善。用perf观察发现,加速库版本的memcpy在拷贝小尺寸内存时,函数调用开销占比异常高,而且多线程同时调用时出现了大量的缓存行争用。想请教这是加速库本身的设计取舍问题,还是我们没有正确启用某些多线程优化开关。

我要发帖子