pi_css5 written by Takuya Ooura and is copyrighted by him, but may be freely distributed and redistributed. In addition to calculating lots of digits of π fast (although other programs are faster), it is extremely portable, and thus an interesting benchmark for different compilers and hardware. Or even languages since I’ve now converted it into C# and Java.
News
5/20/06 Updated MacOS X and Linux binaries (for Intel). Some 10% faster now, courtesy of Intel’s compiler. The Linux one is also faster, albeit by a somewhat smaller (but repeatable) 2%.
5/1/06 Updated the Windows binaries with an SSE2 version as well. That one’s about 20% faster than the generic one (but requires Pentium 4/Athlon XP or newer).
3/18/06 All the binaries have been updated. Most should be fast, and slightly more user friendly (don’t have to run them from the terminal). In particular the MacOSX version runs on any Mac running MacOSX 10.1 or newer, and is optimized for G4, G5 and Apple’s new Intel machines! I’ve no access to Windows right now, so there’s no optimized Windows version (the generic one will work fine). For Linux on x86 machines with SSE2 (read: Pentium 4/Athlon XP or newer), things should be a lot faster.
Results
Performance of pi_css5 on various machines is at the performance page.
Downloads
Binaries
|
|
Microsoft Windows: Requires Windows 95 or later. Includes a generic version and one optimized for SSE2. pi_css5_windows.zip | |
Apple MacOS X: Requires MacOSX 10.2 or later. Optimized for PowerPC G4, G5 and Intel based Macs. pi_css5_darwin.tgz
Apple MacOS: Requires MacOS 7.5 or later. Carbon version is for MacOS 8.6 or later. FAT versions supports 68K Macs but requires a floating point unit. The programs must be copied out of the disk image before they can be used. For some reason the FAT version can’t do more than 2 million digits. pi_css5_fatmacos.smi.bin |
|
Linux on x86: Requires glibc 2.1 or newer. SSE2 version requires a Pentium 4/Athlon XP or newer processor. pi_css5_x86linux.tgz Linux on PowerPC: Requires glibc 2.1 or newer. pi_css5_ppclinux.tgz Linux on Alpha: Requires glibc 2.1 or newer. pi_css5_alphalinux.tgz Linux on Itanium: Requires glibc 2.1 or newer. pi_css5_ia64linux.tgz |
|
HP-UX: Requires PA1.1 processor or higher and HP-UX 11.11 or newer. Include PA 2.0 and IA64 optimized versions. pi_css5_hpux.tgz | |
Sun Solaris: requires UltraSPARC processor and Solaris 2.8 or newer. pi_css5_sparcsolaris.tgz | |
HP Tru64: requires Tru64 5.1B or newer. Should run on any Alpha, but tested only on an EV67. pi_css5_tru64.tgz | |
BeOS/ZetaOS/Haiku: requires BeOS 5.0 or later, running on an Intel processor (no PPC). pi_css5_x86beos.zip | |
Source Code
|
|
C: requires an ANSI C compiler. You’ll want to edit the makefile for your system, particular the variables CC and CFLAGS. pi_css5_src.tgz (~22k) | |
Java: requires JDK 1.2 or better to compile, and JRE 1.4 or compatible to run the included bytecode. This code is a manual translation from the C code. pi_cs5_java.tgz (~53k) | |
C#.NET: can be compiled with any C# compiler. Should be compatible with any runtime. This code is a manual translation from the Java code. pi_css5_csharp.tgz (~28k) |
Compilation Notes