有没有办法对加密库进行基准测试,以便结果与硬件无关?

时间:2011-03-24 12:23:17

标签: security encryption cryptography

有没有办法对加密库进行基准测试,以便结果与硬件无关?

3 个答案:

答案 0 :(得分:3)

没有。许多库将利用各种CPU工具来加速其算法,从而无法实现与硬件无关的基准测试。

答案 1 :(得分:0)

使用不同的硬件环境并计算平均值。我想你也可以在网上找到最适合你需要的有用信息,而不用自己做基准测试。

答案 2 :(得分:0)

为了在x86机器上以频率独立的方式对基准算法进行基准测试,我们使用它来计算 CPU周期而不是时间。不确定ARM是否支持这样的功能,如果是这样,你可以使用一些条件代码来解决你的问题:

uint64_t get_cycles()
{
#ifdef _INTEL_X86
// return CPU cycle count with x86 specific code
// read tim stamp counter instruction rdtsc() for instance
#endif
#ifdef _ARM
// return CPU cycle count with ARM specific code
#endif
}

uint64_t start, stop, tot_cycles;
start = get_cycles();
// code to benchmark
stop = get_cycles()
tot_cycles = stop - start;

希望这可能有所帮助。