我目前正在评估我的笔记本电脑和工作站上的AES加密和解密速度。
在执行时
cryptsetup benchmark -c aes --key-size 128在没有AESNI扩展的情况下,我得到了几乎200MB/s的正常结果。当我用
modprobe aesni-intel并执行相同的基准测试,我得到的结果完全不切实际
例如,解密时为68021MB/s
有什么建议是什么问题导致了这些不切实际的结果?
顺便说一句:笔记本电脑上的操作系统是Ubuntu,工作站是Gentoo
已卸载从源代码安装的预定义ubuntu包
make checkmake脚本执行一次测试,这些结果都很好,但是当我通过
make install我再一次得到这些奇怪的结果
发布于 2014-06-30 21:53:48
不切实际的基准测试结果通常是由错误的(完全无效的)基准测试方法造成的。
从他们的benchmark source判断,基准测试核心是(可怕的伪代码)
totalTime = 0
totalSize = 0
while ( totalTime < 1000 ) {
(sampleTime, sampleSize) = processSingleSample
totalTime += sampleTime
totalSize += sampleSize
}
speed = totalSize / totalTime 想象一下,当processSingleSample的执行时间接近于零时-每次迭代都会稳步增加totalSize,但在某些迭代中,总时间根本不会增加。最后,totalTime是1000,totalSize是任意大的,因此产生的“速度”是任意大的。
当每次迭代花费大量时间时,这种基准测试方法仍然很有用,但在这种特殊情况下(特别是在您启用aesni之后,它会进一步减少每次迭代的时间),它就不是正确的方法。
https://stackoverflow.com/questions/24489664
复制相似问题