Pythonを学ぶ: (2) 多倍長整数型による計算

梅谷 武
作成:2003-05-25 更新:2005-04-20
Pythonの組み込み型である多倍長整数型により初等整数論の計算をしてみる。
20030525001; NDC:007.64; keywords:Python;
目  次
1. IntBench:多倍長整数計算ベンチマーク
参考文献
1. IntBench:多倍長整数計算ベンチマーク
 Pythonに組み込まれている多倍長整数型の評価を行なうために多倍長整数計算のベンチマークを作ってみました。これはC++の多倍長整数クラスを開発する際に使っていたものをPythonに移植したものです。
 今回の開発環境での実行例です。ノートパソコンでメモリが少ないためハードディスクとのスワップが発生しています。
IntBench Ver.1.00 for Python:

  1. 加算試験    2. 減算試験    3. 加減算試験1  4. 加減算試験2
  5. 乗算試験    6. 除算試験    7. 乗除算試験1  8. 乗除算試験2
  9. 左シフト試験 10. 右シフト試験 11. シフト試験1 12. シフト試験2
 13. 論理和    14. 論理積    15. Lucas判定 1 16. Lucas判定 2
 99. 全部

  0. 終了

番号選択 >99
加算試験 = 17 [秒]
減算試験 = 14 [秒]
加減算試験1 = 139 [秒]
加減算試験2 = 34 [秒]
乗算試験 = 13 [秒]
除算試験 = 91 [秒]
乗除算試験1 = 8 [秒]
乗除算試験2 = 38 [秒]
左シフト試験 = 10 [秒]
右シフト試験 = 22 [秒]
シフト試験1 = 7 [秒]
シフト試験2 = 9 [秒]
論理和試験 = 13 [秒]
論理積試験 = 12 [秒]
p =  9689 , Mpは素数です。
Lucas判定1 = 243 [秒]
p =  9689 , Mpは素数です。
Lucas判定2 = 68 [秒]
合計時間 = 743 [秒]

 IntBench:多倍長整数計算ベンチマーク(Python版)IntBench.py2003-05-26
uint32.h2003-05-26
euclid.h2003-05-26
uint32_asm.h2003-05-26

参考文献
Python
[A1] PyJUG(日本Pythonユーザ会), PyJUG(日本Pythonユーザ会) トップページ