找回密码
 欢迎注册
查看: 23209|回复: 23

[讨论] hugecalc判定下面这个整数,要多长时间?

[复制链接]
发表于 2017-5-19 09:49:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
341112^524288 + 1
判定这个整数,
这个整数确实有点大,
我就是想知道判定需要多长时间而已,
我用mathematica玩了很长时间没出结果
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2017-5-19 13:15:52 | 显示全部楼层
本帖最后由 lsr314 于 2017-5-19 13:17 编辑

http://www.primegrid.com/download/GFN-341112_524288.pdf
http://primes.utm.edu/primes/page.php?id=107930
貌似要很长时间
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2017-5-19 16:03:21 | 显示全部楼层
lsr314 发表于 2017-5-19 13:15
http://www.primegrid.com/download/GFN-341112_524288.pdf
http://primes.utm.edu/primes/page.php?id=10 ...

换个小的
  1. Timing[PrimeQ[6917! - 1]]
复制代码

mathematica消耗的时间
{162.974, True}
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2017-5-19 17:02:54 | 显示全部楼层
hugecalc 8.0判定这个素数,居然消耗了333秒,
居然是mathematica10.3消耗时间的两倍

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2017-5-19 17:07:10 | 显示全部楼层
http://primes.utm.edu/largest.html
这儿有很多可以用来比较mathematica与hugecal用来测试的素数,
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2017-5-19 22:00:06 | 显示全部楼层
hugecalc应该还是用32位汇编的,像mathematica之类软件必然已经使用了64位指令。
据我所知用x86的64位指令和32位指令分别实现大数乘法,速度应该在3倍左右的关系,
所以有这种性能差别很正常

点评

看看我后面的测试,你就应该知道,并不是32位还是64位系统的问题  发表于 2017-5-21 13:26
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2017-5-21 12:54:30 | 显示全部楼层
a=2*3*5*7*11*13*******15877-1
  1. (*到15877素数,前面的素数相乘法,2*3*5*7****15877*)
  2. Clear["Global`*"];(*Clear all variables*)
  3. a=Times@@Table[Prime[n],{n,PrimePi[15877]}]-1;
  4. Timing[PrimeQ[a]]
复制代码

mathematica用时间7.22285
hugecalc用时间37.498780秒
37.495780/7.22285=5.19127214327
后者的时间是前者的五倍还多
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2017-5-21 12:57:15 | 显示全部楼层
本帖最后由 mathematica 于 2017-5-21 12:58 编辑

再计算23801#+1,mathematica的时间是{20.2645, True}

  1. Clear["Global`*"];(*Clear all variables*)
  2. a=Times@@Table[Prime[n],{n,PrimePi[23801]}]+1;
  3. Timing[PrimeQ[a]]
复制代码


hugecalc的时间是
68.917948

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2017-5-21 13:11:21 | 显示全部楼层
  1. Clear["Global`*"];(*Clear all variables*)
  2. a=Times@@Table[Prime[n],{n,PrimePi[24029]}]+1;
  3. Timing[PrimeQ[a]]
复制代码

mathematica的时间是{20.7949, True}
hugecalc的时间是70.370270

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2017-5-21 13:19:12 | 显示全部楼层
  1. Clear["Global`*"];(*Clear all variables*)
  2. a=Times@@Table[Prime[n],{n,PrimePi[42209]}]+1;
  3. Timing[PrimeQ[a]]
复制代码

mathematica的时间是
{86.9238, True}
hugecalc的时间是
245.453627/86.9238=2.82377929865
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-12-22 01:19 , Processed in 0.035525 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表