答案 0 :(得分:3)
在GMP中实施的一项随机基础Miller-Rabin测试,多次素数和多次运行的平均值。 i4770K @ 4.3GHz,GMP 6.0.0a。对于64位以下的数字,使用非GMP实现(使用x86_64 asm mulmod)的时间可以更快。这种实现似乎跟随大多数其他C + GMP实现的性能相当接近(对于相同的数字,mpz_aprcl的mpz_sprp在以下几个百分点内运行)。使用非标准的API调用来做蒙哥马利数学可能会更快(也许不是)。
通过良好的实施,BPSW(基础2 M-R + [额外]强卢卡斯测试)占用一次M-R测试成本的约3倍。 Lucas测试实现在性能上有很大差异。 Frobenius测试大约是单次M-R测试成本的2.5倍。
答案 1 :(得分:2)
一轮Miller-Rabin测试可能需要大约1毫秒;这是一个JavaScript交互式实现,您可以在浏览器中运行并自己检查时间: http://www.javascripter.net/math/primes/millerrabinprimalitytest.htm