April 03, 2004
        ===================================
        C/C++ Performance Tests
        Comparative performance measurement
        ===================================
        Testsuite   : Copying files (input to output)
        ---------------------------------------------
        Tool        : Simple C/C++ Perfometer (Copying Files)
                      * http://article.gmane.org/gmane.comp.lang.c++.perfometer/34
                      * http://groups.google.com/groups?selm=c4ke5n%242jnjd0%241%40ID-79865.news.uni-berlin.de
        Report kind : Summary report
        Raw Logs    : http://article.gmane.org/gmane.comp.lang.c++.perfometer/35
                      http://groups.google.com/groups?threadm=OqdBYoOGEHA.744%40TK2MSFTNGP09.phx.gbl



        Environment
        -----------
        Windows 2000 Professional
        Intel(R) Celeron(R) CPU 1.70 GHz

        Compilers
        ---------
        * GNU g++ 3.3.1 (CYGWIN);               DLLs : cygwin1.dll, kernel32.dll, ntdll.dll
        * GNU g++ 3.3.1 (MINGW);                DLLs : msvcrt.dll, kernel32.dll, ntdll.dll
        * GNU gpp 3.3.2 (DJGPP);                DLLs : No
        * Microsoft C++ 13.00.9466 (Unmanaged); DLLs : kernel32.dll, ntdll.dll
        * Microsoft C++ 13.00.9466 (Managed);   DLLs : kernel32.dll, ntdll.dll, mscoree.dll, advapi32.dll, rpcrt4.dll
        * Borland C++ 5.5.1;                    DLLs : kernel32.dll, ntdll.dll, user32.dll, gdi32.dll
        * Digital Mars C++ 8.40.2;              DLLs : kernel32.dll, ntdll.dll, user32.dll, gdi32.dll

        Testsuites
        ----------
        C-1   : Functions getc() and putc()
        C-2   : Functions fgetc() and fputc()
        C-3   : Functions fread() and fwrite()
        CPP-1 : Operators >> and <<
        CPP-2 : Methods get() and put()
        CPP-3 : Methods sbumpc() and sputc()
        CPP-4 : Method sbumpc() and operator <<
        CPP-5 : Method rdbuf() and operator <<
        CPP-6 : Methods read() and write() with const buffer
        CPP-7 : Methods read() and write() with max buffer

        Note. Algorithms C-1, ..., CPP-7 are described at
              http://groups.google.com/groups?selm=OqdBYoOGEHA.744%40TK2MSFTNGP09.phx.gbl
              http://article.gmane.org/gmane.comp.lang.c++.perfometer/35



        #################################################
        Stream I/O performance tests below are based
        on the article "Stream I/O"
        presented at http://www.glenmccl.com/strm_cmp.htm
        by Glen McCluskey & Associates LLC
        #################################################



        #==========================================================
        # Comparison : copying files : input to output
        #----------------------------------------------------------
        #   Resource Name       : CPU-time used
        #   Total repetitions   : 1000
        #   Performance metrics : milliseconds / 750 repetitions
        #==========================================================




        Table-1. Summary report for file size = 1000
        --------------------------------------------
        No optimization
        Contains result of the best run of 3 runs

---------------------------------------------------------------------------------
|       |      GNU g++ 3.3.x          |    Microsoft C++    | Borland | Digital | |  No.  |                             |     13.00.9466      |   C++   |  Mars   | |       |-----------------------------|---------------------|  5.5.1  |   C++   | |       | CYGWIN  | MINGW   | DJGPP   | Unmanaged | Managed |         |  8.40.2 | |       | 3.3.1   | 3.3.1   | 3.3.2   |           |         |         |         | |-------------------------------------------------------------------------------| | C-1   |   0.045 |   0.038 |   0.077 |     0.035 |   0.183 |   0.028 |   0.530 | | C-2   |   0.046 |   0.141 |   0.077 |     0.038 |   0.188 |   0.110 |   0.524 | | C-3   |   0.040 |   0.018 |   0.055 |     0.016 |   0.018 |   0.018 |   0.030 | |       |         |         |         |           |         |         |         | | CPP-1 |   1.851 |   0.355 |   0.330 |     0.519 |   0.692 |   0.431 |   0.141 | | CPP-2 |   0.922 |   0.196 |   0.187 |     0.559 |   0.717 |   0.386 |   0.150 | | CPP-3 |   0.090 |   0.070 |   0.132 |     0.112 |   0.060 |   0.055 |   0.056 | | CPP-4 |   0.050 |   0.028 |   0.110 |     0.216 |   0.090 |   0.060 |   0.011 | | CPP-5 |   0.051 |   0.028 |   0.110 |     0.212 |   0.085 |   0.058 |   0.050 | | CPP-6 |   0.050 |   0.028 |   0.110 |     0.021 |   0.035 |   0.113 |   0.030 | | CPP-7 |   0.050 |   0.028 |   0.110 |     0.021 |   0.033 |   0.110 |   0.030 |
---------------------------------------------------------------------------------



        Table-2. Summary report for file size = 10000
        ---------------------------------------------
        No optimization
        Contains result of the best run of 3 runs

---------------------------------------------------------------------------------
|       |      GNU g++ 3.3.x          |    Microsoft C++    | Borland | Digital | |  No.  |                             |     13.00.9466      |   C++   |  Mars   | |       |-----------------------------|---------------------|  5.5.1  |   C++   | |       | CYGWIN  | MINGW   | DJGPP   | Unmanaged | Managed |         |  8.40.2 | |       | 3.3.1   | 3.3.1   | 3.3.2   |           |         |         |         | |-------------------------------------------------------------------------------| | C-1   |   0.612 |   0.467 |   0.440 |     0.530 |   2.537 |   0.432 |   7.382 | | C-2   |   0.624 |   2.018 |   0.451 |     0.654 |   2.535 |   1.844 |   7.015 | | C-3   |   0.532 |   0.171 |   0.220 |     0.201 |   0.176 |   0.205 |   0.246 | |       |         |         |         |           |         |         |         | | CPP-1 |  29.280 |   4.680 |   2.890 |     9.241 |   9.532 |   6.799 |   1.613 | | CPP-2 |  15.706 |   2.310 |   1.319 |     9.081 |  10.293 |   6.033 |   1.755 | | CPP-3 |   1.298 |   0.852 |   0.813 |     1.622 |   0.605 |   0.851 |   0.559 | | CPP-4 |   0.635 |   0.280 |   0.396 |     3.227 |   0.974 |   0.804 |   0.105 | | CPP-5 |   0.621 |   0.276 |   0.385 |     3.221 |   0.904 |   0.784 |   0.423 | | CPP-6 |   0.607 |   0.281 |   0.407 |     0.216 |   0.273 |   1.722 |   0.208 | | CPP-7 |   0.589 |   0.282 |   0.396 |     0.207 |   0.235 |   1.705 |   0.282 |
---------------------------------------------------------------------------------



--
   Alex Vinokur
     mailto:alexvn@connect.to
     http://mathforum.org/library/view/10978.html