y-cruncherをUbuntu22で動かしてみた

y-cruncherという有名な円周率計算ソフトがあります。Windows版以外に、Linux版もあるので、試しにUbuntu22で動かしてみました。pythonで出来るだけ高速に大きな桁の円周率を求める方法を調べていたのですが、y-cruncherを実行して出力をそのまま利用するのが手っ取り早いかな。

 

1. ダウンロード:

ここからダウンロードします。
y-cruncher - A Multi-Threaded Pi Program (numberworld.org)

 

2. tarを解凍

ダウンロードしたファイルを解凍します。

tar -xvf y-cruncher~省略.tar.xz
3. 実行

解凍したディレクトリーへ移動し、以下のコマンドで実行してみます。

./y-cruncher custom pi -dec:1000
結果

無事に実行されれば、ターミナルにいろいろと表示されます。実行結果がテキストファイル(例: Pi - 20230828-115025.txt。実行した年月日時分秒.txtという形)に出力されます。1000桁だと一瞬(0.001 seconds)で終わりました。

1億桁でもやってみましたが、34.033 secondsでした。さすがに速い。使用メモリ量も表示してくれます。1億桁でTotal Memory: 523,114,624 ( 499 MiB)でした。環境にもよりますが、私の環境では10億桁くらいまでは普通に実行できそうです。

計算された円周率は、Pi - Dec - Chudnovsky.txt、Pi - Hex - Chudnovsky.txtというテキストファイルに保存されています。桁数に応じてファイルサイズが大きくなるのでご注意。1億桁だと95.4MBになってました。実行するたびに上書きされるので、桁数を変えたものを残したい場合は、都度リネームしておきましょう。

環境:

せっかくなのでy-cruncherの実行結果ファイルから引用

Benchmark Validation File - DO NOT MODIFY! If you do, it will fail validation.

Validation Version:    1.3

Program:               y-cruncher v0.8.1 Build 9517
Tuning:                08-NHM ~ Ushio

User:                  None Specified - You can edit this in "Username.txt".

Operating System:      Linux 5.19.0-46-generic x86_64

Processor(s):
    Name:              AMD Ryzen 7 5825U with Radeon Graphics 
    Logical Cores:     4
    Physical Cores:    4
    Sockets:           1
    NUMA Nodes:        1
    Base Frequency:    1,997,161,280 Hz

Motherboard:
    Manufacturer:      Oracle Corporation
    Model:             VirtualBox
    Version:           1.2
    Serial Number:     Suppressed - Personally identifiable information is opt-in only.

Memory:
    Usable Memory:     8,320,471,040 (7.75 GiB)
    Total Memory:      Unable to Detect

Constant:              Pi
Algorithm:             Chudnovsky (1988)
Decimal Digits:        1,000
Hexadecimal Digits:    831
Computation Mode:      Ram Only
Threading Mode:        Push Pool  ->  4 / ?  (randomization on)
Working Memory:        1,572,096 (1.50 MiB)
Total Memory:          30,538,752 (29.1 MiB)

参考:画面キャプチャ