LINUX驱动程序从32位移到64位系统,性能竟然变差,
代码是一模一样的代码,然后每次发送的buffer大小也一样。
在32位系统里面,数据收发速率可以达到4G,但是
在64位系统里竟然只达到了不到3G,请问可能会是什么原因,大家帮我猜一猜,我来验证,
有没有人遇到过这种情况的,请不吝赐教,谢谢!
没有金币了,还请海涵!
LINUX驱动程序从32位移到64位系统,性能竟然变差,
代码是一模一样的代码,然后每次发送的buffer大小也一样。
在32位系统里面,数据收发速率可以达到4G,但是
在64位系统里竟然只达到了不到3G,请问可能会是什么原因,大家帮我猜一猜,我来验证,
有没有人遇到过这种情况的,请不吝赐教,谢谢!
没有金币了,还请海涵!
相同的程序,因为在64bit下各种数据和指令的宽度都放大了一倍。所以相当于相同条件下计算机的缓存、内存、总线带宽都变小了。所以内存敏感的程序性能会下降。