|
Subject: [Summary] C++ Compilers' Comparative Performance : Computing Very Long Fibonacci Numbers Newsgroups: gmane.comp.lang.c++.perfometer Date: 2004-04-13 04:02:57 GMT (5 years, 11 weeks, 5 days, 16 hours and 11 minutes ago)
#######################################################
# C++ Compilers : Comparative Performance Measurement #
#######################################################
Compilers : GNU gcc, Digital Mars C/C++, Visual C++.NET, Borland C++, Intel C++
Testsuite : Computing very long Fibonacci numbers
Source : http://groups.google.com/groups?selm=bo4nls%2417vfq6%241%40ID-79865.news.uni-berlin.de
with addition of John Harrison's improvement
(see http://groups.google.com/groups?selm=c58obb%242qat6b%241%40ID-196037.news.uni-berlin.de)
Metrics
* CPU time - Processor time used (seconds)
Environment
* Windows 2000 Professional Ver 5.0 Build 2195 Service Pack 2
* Intel(R) Celeron(R) CPU 1.70 GHz
Test description
* 5 runs were performed for each <Compiler, Optimize Level, Fib-N>
* The best result has been selected
Report-2.1 (2004-04-13)
==================================================================
| Compiler | Opt. | Fib-10000 | Fib-25000 | Fib-50000 |
| | Level | | | |
|================================================================|
| ### GNU gcc compiler |
|----------------------------------------------------------------|
| | | | | |
| g++ 3.3.1 (Cygwin) | None | 0.370 | 1.622 | 6.008 |
| | O1 | 0.220 | 0.921 | 3.344 |
| | O2 | 0.210 | 0.901 | 3.264 |
| | O3 | 0.210 | 0.901 | 3.234 |
| | | | | |
| g++ 3.3.1 (Cygwin) | None | 0.230 | 1.241 | 4.626 |
| Mingw32 Interface | O1 | 0.120 | 0.630 | 2.403 |
| | O2 | 0.110 | 0.610 | 2.313 |
| | O3 | 0.110 | 0.630 | 2.353 |
| | | | | |
| gpp 3.3.2 (DJGPP) | None | 0.330 | 2.308 | 16.813 |
| | O1 | 0.110 | 1.209 | 10.934 |
| | O2 | 0.110 | 1.209 | 10.879 |
| | O3 | 0.110 | 1.264 | 11.099 |
| | | | | |
|----------------------------------------------------------------|
| ### GNU gcc compiler, STLport |
| ### Proposed and supported by Gerrit P. Haase |
|----------------------------------------------------------------|
| g++ 3.3.1 (Cygwin) | None | 0.280 | 1.161 | 4.215 |
| STLport 4.5.3 | O1 | 0.160 | 0.750 | 2.853 |
| | O2 | 0.160 | 0.760 | 2.903 |
| | O3 | 0.170 | 0.811 | 3.094 |
| | | | | |
|----------------------------------------------------------------|
| ### Digital Mars C/C++ Compiler, STLport |
|----------------------------------------------------------------|
| DMC Version 8.40.2 | None | 0.130 | 0.741 | 3.415 |
| STLport 4.5.3 | Speed | 0.111 | 0.641 | 2.984 |
| | Space | 0.110 | 0.631 | 2.994 |
| | | | | |
|----------------------------------------------------------------|
| ### Visual C++.NET |
|----------------------------------------------------------------|
| Visual C++ 7.0 | Od | 0.320 | 1.141 | 3.955 |
| (Managed C++) | O2 | 0.270 | 0.931 | 3.364 |
| | Ox | 0.270 | 0.961 | 3.334 |
| | | | | |
| Visual C++ 7.0 | Od | 0.650 | 3.895 | 15.312 |
| (Unmanaged C++) | O2 | 0.120 | 0.701 | 2.713 |
| | Ox | 0.120 | 0.701 | 2.733 |
| | | | | |
|----------------------------------------------------------------|
| ### Borland C++ |
|----------------------------------------------------------------|
| Borland C++ 5.5.1 | Od | 0.170 | 0.971 | 3.696 |
| | O2 | 0.140 | 0.741 | 2.854 |
| | O2i | 0.140 | 0.751 | 2.834 |
| | | | | |
|----------------------------------------------------------------|
| ### Intel C++ |
|----------------------------------------------------------------|
| Intet C++ 8.0 | Od | 0.791 | 4.626 | 18.326 |
| | O2 | 0.120 | 0.680 | 2.763 |
| | Ox | 0.130 | 0.680 | 2.613 |
| | fast | 0.140 | 0.791 | 3.114 |
| | | | | |
==================================================================
Compilation
===========
* g++ 3.3.1, Cygwin
-----------------
g++ -W -Wall fib_time.cpp -o f-cyg-0.exe
g++ -W -Wall fib_time.cpp -O1 -o f-cyg-1.exe
g++ -W -Wall fib_time.cpp -O2 -o f-cyg-2.exe
g++ -W -Wall fib_time.cpp -O3 -o f-cyg-3.exe
* g++ 3.3.1, Cygwin, Mingw32 interface
------------------------------------
g++ -W -Wall -mno-cygwin fib_time.cpp -o f-mgw-0.exe
g++ -W -Wall -mno-cygwin fib_time.cpp -O1 -o f-mgw-1.exe
g++ -W -Wall -mno-cygwin fib_time.cpp -O2 -o f-mgw-2.exe
g++ -W -Wall -mno-cygwin fib_time.cpp -O3 -o f-mgw-3.exe
* g++ 3.3.1, Cygwin, STLport 4.5.3
--------------------------------
g++ -W -Wall fib_time.cpp -I/STLport-4.5.3/stlport /lib/libstlport_cygwin.a -o f-cgp-0.exe
g++ -W -Wall fib_time.cpp -I/STLport-4.5.3/stlport /lib/libstlport_cygwin.a -O1 -o f-cgp-1.exe
g++ -W -Wall fib_time.cpp -I/STLport-4.5.3/stlport /lib/libstlport_cygwin.a -O2 -o f-cgp-2.exe
g++ -W -Wall fib_time.cpp -I/STLport-4.5.3/stlport /lib/libstlport_cygwin.a -O3 -o f-cgp-3.exe
* gpp 3.3.2, DJGPP
----------------
gpp -W -Wall fib_time.cpp -o f-dj-0.exe
gpp -W -Wall fib_time.cpp -O1 -o f-dj-1.exe
gpp -W -Wall fib_time.cpp -O2 -o f-dj-2.exe
gpp -W -Wall fib_time.cpp -O3 -o f-dj-3.exe
* Digital Mars C/C++ 8.35n, STLport 4.5.3
---------------------------------------
dmc -I. -IC:/dm/stlport/stlport fib_time.cpp -of-dmc-0.exe
dmc -o+speed -I. -IC:/dm/stlport/stlport fib_time.cpp -of-dmc-t.exe
dmc -o+space -I. -IC:/dm/stlport/stlport fib_time.cpp -of-dmc-m.exe
* Visual C++ 7.0 (Managed C++)
----------------------------
cl fib_time.cpp /Od /EHsc /D "WIN32" /D "_MBCS" /W3 /clr /TP /of-msm-0.exe
cl fib_time.cpp /O2 /EHsc /D "WIN32" /D "_MBCS" /W3 /clr /TP /of-msm-2.exe
cl fib_time.cpp /Ox /EHsc /D "WIN32" /D "_MBCS" /W3 /clr /TP /of-msm-x.exe
* Visual C++ 7.0 (Unmanaged C++)
------------------------------
cl fib_time.cpp /Od /EHsc /D "WIN32" /D "_MBCS" /W3 /TP /of-msu-0.exe
cl fib_time.cpp /O2 /EHsc /D "WIN32" /D "_MBCS" /W3 /TP /of-msu-2.exe
cl fib_time.cpp /Ox /EHsc /D "WIN32" /D "_MBCS" /W3 /TP /of-msu-x.exe
* Borland C++ 5.5.1
-----------------
bcc32 -Od -ef-brl-0 fib_time.cpp
bcc32 -O2 -ef-brl-2 fib_time.cpp
bcc32 -O2 -Oi -ef-brl-i fib_time.cpp
* Intel C++ 8.0
-------------
icl fib_time.cpp /Od /Fef-itl-0.exe
icl fib_time.cpp /O2 /Fef-itl-2.exe
icl fib_time.cpp /Ox /Fef-itl-x.exe
icl fib_time.cpp /fast /Fef-itl-f.exe
The names of DLL files on which the programs depend
===================================================
* g++ 3.3.1, Cygwin
-----------------
C:\cygwin\bin\cygwin1.dll
C:\WINNT\System32\KERNEL32.dll
C:\WINNT\System32\NTDLL.DLL
* g++ 3.3.1, Cygwin, Mingw32 interface
------------------------------------
C:\WINNT\System32\msvcrt.dll
C:\WINNT\System32\KERNEL32.dll
C:\WINNT\System32\NTDLL.DLL
* g++ 3.3.1, Cygwin, STLport 4.5.3
--------------------------------
C:\cygwin\bin\cygwin1.dll
C:\WINNT\System32\KERNEL32.dll
C:\WINNT\System32\NTDLL.DLL
* gpp 3.3.2, DJGPP
----------------
No dynamic linking.
* Digital Mars C/C++ 8.35n, STLport 4.5.3
---------------------------------------
C:\WINNT\System32\KERNEL32.DLL
C:\WINNT\System32\NTDLL.DLL
C:\WINNT\System32\USER32.DLL
C:\WINNT\System32\GDI32.DLL
* Visual C++ 7.0 (Managed C++)
----------------------------
C:\WINNT\System32\KERNEL32.dll
C:\WINNT\System32\NTDLL.DLL
C:\WINNT\System32\mscoree.dll
C:\WINNT\System32\ADVAPI32.dll
C:\WINNT\System32\RPCRT4.DLL
* Visual C++ 7.0 (Unmanaged C++)
------------------------------
C:\WINNT\System32\KERNEL32.dll
C:\WINNT\System32\NTDLL.DLL
* Borland C++ 5.5.1
-----------------
C:\WINNT\System32\KERNEL32.DLL
C:\WINNT\System32\NTDLL.DLL
C:\WINNT\System32\USER32.DLL
C:\WINNT\System32\GDI32.DLL
* Intel C++ 8.0
-------------
C:\WINNT\System32\KERNEL32.DLL
C:\WINNT\System32\NTDLL.DLL
------
Alex Vinokur
mailto:alexvn <at> connect.to
http://mathforum.org/library/view/10978.html
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
|
|
|