I came across PiFast today which is a Windows program allowing you to calculate Pi. It’s certainly a lot faster than Super Pi – it took somewhere in the region of 40 seconds to calculate 1 million digits using Super Pi; using PiFast I calculated 1 million digits in 3 seconds.

I left the program on over lunch to calculate 256,000,000 digits of Pi. It took 2396.4 seconds (around 40 minutes). Here is my configuration (Pentium 4 3GHz, 1GB ram) and output:

C:\Documents and Settings\Khlo\Desktop>pifast43
PiFast, version 4.3 (fix 1) (Copyright 1999-2003 Xavier Gourdon)
Menu :
[0] Compute Pi with Chudnovsky method (Fastest)
[1] Compute Pi with Ramanujan method
[2] Compute E by the exponential series exp(1)
[3] Compute E by the exponential series 1/exp(-1)
[4] Compute Sqrt(2) (useful for testing)
[5] Define your constant with hypergeometric series
[6] Compute a user constant from a .pifast file
[7] Decompress a result file
[8] Check a compress result Pi file
Enter your choice : 0

Choose your computation mode :
[0] standard mode (no disk memory used)
[1] basic disk memory mode (for big computations)
[2] advanced disk memory mode (for huge computations)
Enter your choice : 1

Number of decimal digits : 256000000
Possible FFT modes, with approximate needed memory :

FFT Size=16384 k, Mem=788960 K, MemDisk=500000 k (Fastest mode)
FFT Size=8192 k, Mem=395744 K, MemDisk=500000 k (Time: Fastest mode * 1.3)
FFT Size=4096 k, Mem=197872 K, MemDisk=500000 k (Time: Fastest mode * 1.8)
FFT Size=2048 k, Mem=99568 K, MemDisk=500000 k (Time: Fastest mode * 3.0)
FFT Size=1024 k, Mem=50016 K, MemDisk=500000 k (Time: Fastest mode * 5.1)
FFT Size= 512 k, Mem=25440 K, MemDisk=500000 k (Time: Fastest mode * 7.3)

Enter FFT Size in k :16384

Compressed output (also useful to specify output format) ? [0=No, 1=Yes] : 0

Chunks : in this mode, you can do your computation
in several runs by entering a time threshold for the current
run. The next run will start where the current run has stopped.
Time threshold in hours (0 if single run wanted) : 0

Total Physical Memory Allocated = 789762 Kbytes
Computing series with index N=18053604
Starting step 10
Starting step 9 ...
Starting step 8 ...
Starting step 7 ...
Starting step 6 ...
Starting step 5 ...
Starting step 4 ...
Starting step 3 ...
Starting step 2 ...
Starting step 1 ...
Starting step 0 ...
Series computing time : 2396.44
Division :   Done
Division time : 237.06
SquareRoot :   Done
InvSqrt time : 181.31
Final huge multiplication time : 130.00
Computation time of this run : 2996.72 seconds
Total computation time : 2996.72 seconds(~ 0.83 hours)
Writing informations into file pi.txt

The computation seems OK
Appending result to file pi.txt ...

So now I’m stuck with a 352 Mebibyte file which I have no idea what to do with

One thought on “PiFast

Leave a Reply

Your email address will not be published. Required fields are marked *