Gmane
From: Alex Vinokur <alexvn <at> connect.to>
Subject: [Summary] Simple C/C++ Perfometer : Copying Files
Newsgroups: gmane.comp.lang.c++.perfometer
Date: 2004-04-13 10:53:28 GMT (5 years, 11 weeks, 6 days and 4 hours ago)

        ===================================
        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

        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
        * Intel C++ 8.0;                        DLLs : kernel32.dll, ntdll.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
        #################################################

        Report 1.2 (2004-04-13)
        #==========================================================
        # Comparison : copying files : input to output
        #----------------------------------------------------------
        #   Resource Name       : CPU-time used
        #   Total repetitions   : 1000
        #   Performance metrics : milliseconds / 750 repetitions
        #==========================================================

        ===================
        1. File size = 1000
        ===================

        Table-1.1. Summary report : file size = 1000, No optimization
        -------------------------------------------------------------
        Contains result of the best run of 3 runs

------------------------------------------------------------------------------------------
|       |      GNU g++ 3.3.x          |    Microsoft C++    | Borland | Digital | Intel  |
|  No.  |                             |     13.00.9466      |   C++   |  Mars   |  C++   |
|       |-----------------------------|---------------------|  5.5.1  |   C++   |  8.0   |
|       | CYGWIN  | MINGW   | DJGPP   | Unmanaged | Managed |         |  8.40.2 |        |
|       | 3.3.1   | 3.3.1   | 3.3.2   |           |         |         |         |        |
|----------------------------------------------------------------------------------------|
| C-1   |   0.100 |   0.080 |   0.110 |     0.033 |   0.180 |   0.033 |   0.524 |  0.026 |
| C-2   |   0.097 |   0.340 |   0.110 |     0.037 |   0.180 |   0.116 |   0.524 |  0.033 |
| C-3   |   0.083 |   0.040 |   0.066 |     0.013 |   0.016 |   0.016 |   0.026 |  0.016 |
|       |         |         |         |           |         |         |         |        |
| CPP-1 |   4.099 |   0.764 |   0.385 |     0.564 |   0.697 |   0.391 |   0.140 |  0.633 |
| CPP-2 |   2.033 |   0.401 |   0.220 |     0.554 |   0.680 |   0.343 |   0.150 |  0.587 |
| CPP-3 |   0.200 |   0.160 |   0.165 |     0.143 |   0.060 |   0.067 |   0.043 |  0.173 |
| CPP-4 |   0.126 |   0.066 |   0.110 |     0.210 |   0.080 |   0.063 |   0.020 |  0.234 |
| CPP-5 |   0.113 |   0.060 |   0.121 |     0.207 |   0.080 |   0.053 |   0.047 |  0.260 |
| CPP-6 |   0.113 |   0.063 |   0.121 |     0.023 |   0.030 |   0.116 |   0.030 |  0.023 |
| CPP-7 |   0.113 |   0.060 |   0.110 |     0.020 |   0.026 |   0.113 |   0.030 |  0.020 |
------------------------------------------------------------------------------------------

        Table-1.2. Summary report : file size = 1000, Optimizations
        -----------------------------------------------------------
        Contains result of the best run of 3 runs

------------------------------------------------------------------------------------------
|       |      GNU g++ 3.3.x          |    Microsoft C++    | Borland | Digital | Intel  |
|  No.  |                             |     13.00.9466      |   C++   |  Mars   |  C++   |
|       |-----------------------------|---------------------|  5.5.1  |   C++   |  8.0   |
|       | CYGWIN  | MINGW   | DJGPP   | Unmanaged | Managed |         |  8.40.2 |        |
|       | 3.3.1   | 3.3.1   | 3.3.2   |           |         |         |         |        |
|----------------------------------------------------------------------------------------|
| C-1   |   0.040 |   0.023 |   0.110 |     0.033 |   0.180 |   0.030 |   0.520 |  0.020 |
| C-2   |   0.040 |   0.143 |   0.110 |     0.037 |   0.180 |   0.116 |   0.517 |  0.033 |
| C-3   |   0.033 |   0.016 |   0.055 |     0.013 |   0.016 |   0.016 |   0.023 |  0.013 |
|       |         |         |         |           |         |         |         |        |
| CPP-1 |   1.855 |   0.337 |   0.341 |     0.227 |   0.524 |   0.391 |   0.100 |  0.127 |
| CPP-2 |   0.931 |   0.170 |   0.176 |     0.230 |   0.577 |   0.343 |   0.083 |  0.106 |
| CPP-3 |   0.083 |   0.060 |   0.121 |     0.063 |   0.040 |   0.050 |   0.043 |  0.030 |
| CPP-4 |   0.046 |   0.027 |   0.110 |     0.090 |   0.070 |   0.056 |   0.016 |  0.057 |
| CPP-5 |   0.043 |   0.026 |   0.110 |     0.083 |   0.064 |   0.053 |   0.040 |  0.053 |
| CPP-6 |   0.050 |   0.026 |   0.110 |     0.023 |   0.030 |   0.110 |   0.023 |  0.020 |
| CPP-7 |   0.046 |   0.026 |   0.110 |     0.020 |   0.026 |   0.106 |   0.023 |  0.020 |
------------------------------------------------------------------------------------------

        ====================
        2. File size = 10000
        ====================

        Table-2.1. Summary report : file size = 10000, No optimization
        --------------------------------------------------------------
        Contains result of the best run of 3 runs

------------------------------------------------------------------------------------------
|       |      GNU g++ 3.3.x          |    Microsoft C++    | Borland | Digital | Intel  |
|  No.  |                             |     13.00.9466      |   C++   |  Mars   |  C++   |
|       |-----------------------------|---------------------|  5.5.1  |   C++   |  8.0   |
|       | CYGWIN  | MINGW   | DJGPP   | Unmanaged | Managed |         |  8.40.2 |        |
|       | 3.3.1   | 3.3.1   | 3.3.2   |           |         |         |         |        |
|----------------------------------------------------------------------------------------|
| C-1   |   0.624 |   0.731 |   0.670 |     0.540 |   2.507 |   0.270 |  11.479 |  0.434 |
| C-2   |   0.601 |   3.448 |   0.670 |     0.674 |   2.506 |   1.268 |   5.187 |  0.621 |
| C-3   |   0.474 |   0.267 |   0.341 |     0.207 |   0.170 |   0.177 |   0.206 |  0.213 |
|       |         |         |         |           |         |         |         |        |
| CPP-1 |  32.976 |   6.279 |   3.462 |    12.214 |  10.364 |   5.347 |   1.325 | 11.467 |
| CPP-2 |  15.903 |   3.144 |   1.319 |    12.130 |  11.963 |   4.726 |   1.478 | 10.932 |
| CPP-3 |   1.341 |   1.091 |   0.824 |     2.961 |   0.621 |   0.774 |   0.411 |  3.836 |
| CPP-4 |   0.597 |   0.373 |   0.418 |     4.349 |   0.884 |   0.698 |   0.090 |  5.040 |
| CPP-5 |   0.581 |   0.360 |   0.396 |     4.316 |   0.884 |   0.694 |   0.424 |  5.738 |
| CPP-6 |   0.587 |   0.370 |   0.396 |     0.323 |   0.260 |   1.512 |   0.177 |  0.313 |
| CPP-7 |   0.557 |   0.363 |   0.440 |     0.307 |   0.237 |   1.462 |   0.230 |  0.300 |
------------------------------------------------------------------------------------------

        Table-2.2. Summary report : file size = 10000, Optimization
        -----------------------------------------------------------
        Contains result of the best run of 3 runs

------------------------------------------------------------------------------------------
|       |      GNU g++ 3.3.x          |    Microsoft C++    | Borland | Digital | Intel  |
|  No.  |                             |     13.00.9466      |   C++   |  Mars   |  C++   |
|       |-----------------------------|---------------------|  5.5.1  |   C++   |  8.0   |
|       | CYGWIN  | MINGW   | DJGPP   | Unmanaged | Managed |         |  8.40.2 |        |
|       | 3.3.1   | 3.3.1   | 3.3.2   |           |         |         |         |        |
|----------------------------------------------------------------------------------------|
| C-1   |   0.624 |   0.270 |   0.495 |     0.157 |   2.503 |   0.270 |   5.180 |  0.176 |
| C-2   |   0.597 |   1.749 |   0.473 |     0.387 |   2.506 |   1.161 |   5.187 |  0.371 |
| C-3   |   0.474 |   0.120 |   0.253 |     0.110 |   0.170 |   0.127 |   0.206 |  0.110 |
|       |         |         |         |           |         |         |         |        |
| CPP-1 |  32.976 |   3.301 |   2.747 |     0.954 |   7.514 |   5.347 |   1.011 |  1.198 |
| CPP-2 |  15.903 |   1.679 |   1.242 |     0.965 |   8.128 |   4.726 |   0.804 |  0.975 |
| CPP-3 |   1.222 |   0.517 |   0.769 |     0.210 |   0.430 |   0.667 |   0.411 |  0.210 |
| CPP-4 |   0.597 |   0.200 |   0.396 |     0.300 |   0.671 |   0.667 |   0.087 |  0.464 |
| CPP-5 |   0.581 |   0.193 |   0.396 |     0.303 |   0.654 |   0.660 |   0.354 |  0.457 |
| CPP-6 |   0.587 |   0.200 |   0.396 |     0.136 |   0.260 |   1.468 |   0.140 |  0.120 |
| CPP-7 |   0.557 |   0.193 |   0.396 |     0.133 |   0.237 |   1.446 |   0.183 |  0.123 |
------------------------------------------------------------------------------------------

--
   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