分析显示,有5%的cpu花在开方上了。
毕竟大素数是非常稀疏的, 后面执行到j*j的机会很少。
【 在 hgoldfish 的大作中提到: 】
: 里面有很多时候是测试了一两个素数就跳出循环了。用开方说不定速度更慢。
: 本质上是这个素数算法比较低效。不过是这个算法是很好的例子,解释 c#, java 这些 jit 语言和 c++ 的区别。c++ 对同一个算法,可以无限优化跟手动汇编差不多快,c#/java 不好搞。但 c#/java 随便撸都能有一个还不错的结果,至少不会访问内存崩溃掉。
:
--
FROM 123.112.64.*