« August 5, 2005 | Main | August 9, 2005 »

Saturday, August 6, 2005

Floating Point Benchmark: Ada 95 Benchmark Added

I have completed an Ada 95 implementation of the floating point benchmark (the original trigonometry-intense fbench, not the FFT-based ffbench) and added results from the GNAT/GCC 3.4.4 Ada compiler to the language performance comparison section of the fbench document. Here is the relative performance table with Ada included.

Language Relative
Time
Details
C 1 GCC 3.2.3 -O3, Linux
Visual Basic .NET 0.866 All optimisations, Windows XP
FORTRAN 1.008 GNU Fortran (g77) 3.2.3 -O3, Linux
Java 1.121 Sun JDK 1.5.0_04-b05, Linux
Visual Basic 6 1.132 All optimisations, Windows XP
Ada 1.401 GNAT/GCC 3.4.4 -O3, Linux
Python 17.6 Python 2.3.3 -OO, Linux
Perl 23.6 Perl v5.8.0, Linux
JavaScript 27.6
39.1
46.9
Opera 8.0, Linux
Internet Explorer 6.0.2900, Windows XP
Mozilla Firefox 1.0.6, Linux
QBasic 148.3 MS-DOS QBasic 1.1, Windows XP Console

Apart from the general remarks about benchmarking and the specific disclaimers in the last item about the language benchmarks, note that while I have tried to port the benchmark in as close as possible to my comprehension of the "Ada way", this is my first nontrivial Ada program, so it is entirely possible I have inadvertently done something which adversely affects performance. Ada experts are invited to review the source code included in the fbench archive and experiment with performance tweaks, both on GNAT/GCC and other Ada development environments; please report any interesting results with the Feedback button and I'll pass them on here.

Posted at 22:48 Permalink