gpt4 book ai didi

alignment - malloc 与 posix_memalign

转载 作者:行者123 更新时间:2023-12-02 03:32:14 24 4
gpt4 key购买 nike

我正在开发一种使用平铺的高速缓存高效转置算法,我注意到当我使用 malloc 分配内存时,我获得的性能比使用 posix_memalign 时更差。更具体地说:

使用 malloc:98.7 毫秒
使用 posix:86.4 毫秒(对于 32,64,128,256,512,1024,2048,4096 的数据对齐)

我正在分配一个 32 位整数数组。

我无法解释为什么 posix-x,其中 4096>x>32 和 x 是数据对齐方式,总是或多或少地为这个数据对齐值范围提供相同的效率。在我的算法中,我预取缓存行(64 字节),所以我希望对于 x=64 我会有最好的性能数字。

最佳答案

我做了一个简单的测试,对齐8字节时性能最好。malloc 默认使用 8 字节对齐。我试过 posix_memalign 来制作对齐更大,但这并不能使性能更好。而性能与按8字节对齐只有一点点区别。

关于alignment - malloc 与 posix_memalign,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25909053/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com