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)

http://numbers.computation.free.fr/Constants/PiProgram/pifast.html

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