有没有办法对加密库进行基准测试,以便结果与硬件无关?
答案 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;
希望这可能有所帮助。