PiFast is faster than any windows pi program I have found on the net (see Stu's pi page for a table of program comparisons on Windows).
I have not been able to perform comparisons on unix platforms. Your timings on such architectures would be appreciated. Notice that PiFast has been tuned on windows so it is certainly not optimal on unix.
Depending on the avalable memory, PiFast can be executed in one of the three following modes :
The timings given here have been obtained with the Chudnovsky formula option (fastest).
(Notice that no particular compilation have been made to benefit from Pentium 4 specific instructions. For PiFast timings, a Pentium 4 1400 Mhz seems equivalent to a Pentium III 1200 or 1250 Mhz).
Version 4.3 | P4 2.4 Ghz | 1024 Mo | Windows 2000 |
Number of digits | Memory used | Time (seconds) |
125,000 | 0.9 Mo | 0.27 |
250,000 | 1.8 Mo | 0.64 |
500,000 | 3.6 Mo | 1.48 |
1,000,000 | 7.3 Mo | 3.53 |
2,000,000 | 14.4 Mo | 8.48 |
4,000,000 | 29 Mo | 19.17 |
8,000,000 | 57 Mo | 45.13 |
16,000,000 | 114 Mo | 102.9 |
32,000,000 | 228 Mo | 224.3 |
64,000,000 | 456 Mo | 522.6 |
128,000,000 | 912 Mo | 1180 |
Version 3.1 | PII 350Mhz | 128 Mo | Windows 98 |
Number of digits | Physical memory | Disk memory | Time |
32,000,000 | 102 Mo | 62 M | 3662 seconds |
64,000,000 | 102 Mo | 124 M | 9820 seconds |
128,000,000 | 102 Mo | 248 M | 30320 seconds |
256,000,000 | 102 Mo | 496 M | 110000 seconds
|
These timings were kindly sent to me by Gary Oliaro for version 3.3.
Version 3.3 | Athlon 1050Mhz | 1 Go | Windows 98 |
Number of digits | Physical memory | Disk memory | Time |
500,000,000 | 786 Mo | 2.1 Go | 8.6 hours |
1,000,000,000 | 786 Mo | 4.2 Go | 21.5 hours |
2,000,000,000 | 786 Mo | 8.5 Go | 52.3 hours |
4,000,000,000 | 786 Mo | 17 Go | 117.6 hours |
8,000,000,000 | 786 Mo | 34 Go | 284.1 hours |
Timings of version 4.3 on a Pentium 4 2.4 Ghz (see Pi Computation timings, Standard mode, for the note on Pentium 4 processor with PiFast).
Version 4.3 | P4 2.4Ghz | 1024 M0 | Windows 2000 |
Number of digits | Memory used | Time (seconds) |
125,000 | 0.9 Mo | 0.11 |
250,000 | 1.8 Mo | 0.23 |
500,000 | 3.7 Mo | 0.55 |
1,000,000 | 6.5 Mo | 1.17 |
2,000,000 | 13 Mo | 2.63 |
4,000,000 | 26 Mo | 6.08 |
8,000,000 | 52 Mo | 12.45 |
16,000,000 | 103 Mo | 28.11 |
32,000,000 | 206 Mo | 64.39 |
64,000,000 | 411 Mo | 135.7 |
128,000,000 | 820 Mo | 319 |
No timing experiments for E were done in this mode at the moment.
Timings can be found on the user constantw page.
When I wrote the first version of pifast, I would not expect I would improve so much the speed of pifast. To express this history of progress, the following table gives the timings of the computation of pi using the Chudnovsky method (fastest method) with 1,048,576 digits of all successive versions of pifast.
Pi computation | 1,048,576 digits | P4 1.8Ghz | Windows XP |
Version | Release date | Time (seconds) | Memory |
Version 1.0 | July 17 1999 | 16.57 | 11.0 Mo |
Version 1.1 | July 30 1999 | 14.00 | 8.0 Mo |
Version 2.1 | August 5 1999 | 13.04 | 7.7 Mo |
Version 2.2 | August 10 1999 | 12.01 | 7.7 Mo |
Version 2.3 | September 5 1999 | 11.65 | 7.7 Mo |
Version 3.1 | October 30 1999 | 11.69 | 7.7 Mo |
Version 3.2 | December 27 1999 | 11.08 | 7.4 Mo |
Version 3.3 | July 8 2000 | 10.88 | 7.4 Mo |
Version 4.0 | August 30 2001 | 9.33 | 7.8 Mo |
Version 4.1 | September 6 2001 | 8.60 | 7.8 Mo |
Version 4.2 | January 7 2003 | 5.98 | 7.8 Mo |
Version 4.2 | July 5 2003 | 5.68 | 7.8 Mo |