I performed this port to the WATCOM C/C++ compiler on my Athlon 500Mhz
system. Here is a description of the files.
6763 stream_d.c
- My modifications to the stream_d.c source. The most important
modification was to change OFFSET from 0 to 70464. This number was
determined experimentally. It also contains a conditionally compiled
ASM hack to speed up just the COPY loop.
1645 p55clock.c
- A different port of the timer code. It is far more accurate than
previous timers, in particular the win32_clock.c timer code.
219 make.bat
- Just a batch file for compiling everything up.
49152 stream.exe
- The straight compile of the sources.
49152 fastream.exe
- A compile of the sources with the assembly hack turned on.
1217 500.txt
- The results without the assembly hack.
1217 500f.txt
- The results with the assembly hack.
-- Paul Hsieh qed@pobox.com
------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 1000000, Offset = 70464 Total memory required = 22.9 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 36126 microseconds. (= 36126 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 373.5327 0.0435 0.0428 0.0460 Scale: 351.8294 0.0460 0.0455 0.0466 Add: 459.3388 0.0531 0.0522 0.0555 Triad: 453.4303 0.0533 0.0529 0.0539
------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 1000000, Offset = 70464 Total memory required = 22.9 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 37978 microseconds. (= 37978 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 452.9012 0.0358 0.0353 0.0363 Scale: 351.0894 0.0467 0.0456 0.0500 Add: 454.1782 0.0552 0.0528 0.0586 Triad: 454.6508 0.0533 0.0528 0.0539
The following section of this message contains a file attachment prepared for transmission using the Internet MIME message format. If you are using Pegasus Mail, or any another MIME-compliant system, you should be able to save it or view it from within your mailer. If you cannot, please ask your system administrator for assistance.
---- File information ----------- File: fastream.exe Date: 17 Dec 1999, 4:31 Size: 49152 bytes. Type: PCEXE
wcl386 /zq /otexan stream_d.c p55clock.c @copy stream_d.exe stream.exe > nul stream.exe > 500.txt wcl386 /zq /otexan stream_d.c p55clock.c /dASMHACK=1 @copy stream_d.exe fastream.exe > nul fastream.exe > 500f.txt
The following section of this message contains a file attachment prepared for transmission using the Internet MIME message format. If you are using Pegasus Mail, or any another MIME-compliant system, you should be able to save it or view it from within your mailer. If you cannot, please ask your system administrator for assistance.
---- File information ----------- File: p55clock.c Date: 17 Dec 1999, 4:30 Size: 1645 bytes. Type: Program-source
I performed this port to the WATCOM C/C++ compiler on my Athlon 500Mhz system. Here is a description of the files.
6763 stream_d.c
- My minor modifications to the stream_d.c source. The most important modification was to change OFFSET from 0 to 70464. This number was determined experimentally. It also contains a conditionally compiled ASM hack to speed up just the COPY loop.
1645 p55clock.c
- A different port of the timer code. It is far more accurate than previous timers, in particular the win32_clock.c timer code.
219 make.bat
- Just a batch file for compiling everything up.
49152 stream.exe
- The straight compile of the sources.
49152 fastream.exe
- A compile of the sources with the assembly hack turned on.
1217 500.txt
- The results without the assembly hack.
1217 500f.txt
- The results with the assembly hack.
-- Paul Hsieh qed@pobox.com
The following section of this message contains a file attachment prepared for transmission using the Internet MIME message format. If you are using Pegasus Mail, or any another MIME-compliant system, you should be able to save it or view it from within your mailer. If you cannot, please ask your system administrator for assistance.
---- File information ----------- File: stream.exe Date: 17 Dec 1999, 4:31 Size: 49152 bytes. Type: PCEXE
The following section of this message contains a file attachment prepared for transmission using the Internet MIME message format. If you are using Pegasus Mail, or any another MIME-compliant system, you should be able to save it or view it from within your mailer. If you cannot, please ask your system administrator for assistance.
---- File information ----------- File: stream_d.c Date: 17 Dec 1999, 4:31 Size: 6763 bytes. Type: Program-source
This archive was generated by hypermail 2b29 : Tue Apr 18 2000 - 05:23:08 CDT