SCOUG-HELP Mailing List Archives
Return to [ 29 |
July |
2003 ]
<< Previous Message <<
>> Next Message >>
=====================================================
If you are responding to someone asking for help who
may not be a member of this list, be sure to use the
REPLY TO ALL feature of your email program.
=====================================================
In <3F267660.1B62@peterskye.com>, on 07/29/03
at 06:27 AM, Peter Skye said:
>Okay, I decided to measure it. :)
And I decided to compare your measurements to what happens here. :-)
Using a slightly modified version of your code:
iFileSize = 1000000
do while iFileSize <= 16000000
iRecSize = 10
do while iRecSize <= 10000
call stream TestFile, 'C', 'OPEN READ'
call Time( "R" )
do Index = 1 to iFileSize by iRecSize
x = charin( TestFile, , iRecSize )
end
ElapsedTimeByRecord = Time( "E" )
call stream TestFile, 'C', 'CLOSE'
/* Benchmark using CharIn() to read the entire file into a buffer.
*/
call stream TestFile, 'C', 'OPEN READ'
call Time( "R" )
buffer = charin( TestFile, , iFileSize )
do Index = 1 to iFileSize by iRecSize
x = substr( buffer, Index, iRecSize )
end
ElapsedTimeByBuffer = Time( "E" )
call stream TestFile, 'C', 'CLOSE'
say right(' ' iFileSize, 10),
right(' ' iRecSize, 12),
right(' ' ElapsedTimeByRecord, 18),
right(' 'ElapsedTimeByBuffer, 18)
iRecSize = iRecSize * 10
end /* iRecSize */
iRecSize = iRecSize * 10
iFileSize = iFileSize * 2
end /* iFileSize */
The results are:
---- Seconds (uSec/Rec) to Read ---- Speed File
Size Record Size Individual Records Buffered Records Ratio ==========
=========== ================== ================ =====
1000000 10 10.550000 0.420000
1000000 100 1.130000 0.120000
1000000 1000 0.170000 0.090000
1000000 10000 0.070000 0.080000
2000000 10 22.060000 1.400000
2000000 100 2.330000 0.290000
2000000 1000 0.350000 0.160000
2000000 10000 0.150000 0.150000
4000000 10 44.100000 2.850000
4000000 100 4.650000 0.660000
4000000 1000 0.740000 0.360000
4000000 10000 0.330000 0.330000
8000000 10 88.600000 5.680000
8000000 100 9.490000 1.300000
8000000 1000 1.460000 0.690000
8000000 10000 0.640000 0.640000
16000000 10 176.470000 11.440000
16000000 100 18.760000 2.560000
16000000 1000 2.910000 1.400000
16000000 10000 1.290000 1.290000
Definite food for thought? These numbers are in line with what I
expected. This is a P450 which I believe is faster than the box you are
using, so the overall speed delta is not unexpected. Also, I run OREXX so
this may also account for some differences.
I may add some code to ensure that the HPFS cache is flushed and to ensure
that 16MB of address space has been allocated.
Steven
--
----------------------------------------------------------------------
"Steven Levine" MR2/ICE 2.37 #10183 Warp4/FP15/14.093c_W4
www.scoug.com irc.webbnet.info irc.fyrelizard.org #scoug (Wed 7pm PST)
----------------------------------------------------------------------
=====================================================
To unsubscribe from this list, send an email message
to "steward@scoug.com". In the body of the message,
put the command "unsubscribe scoug-help".
For problems, contact the list owner at
"rollin@scoug.com".
=====================================================
<< Previous Message <<
>> Next Message >>
Return to [ 29 |
July |
2003 ]
The Southern California OS/2 User Group
P.O. Box 26904
Santa Ana, CA 92799-6904, USA
Copyright 2001 the Southern California OS/2 User Group. ALL RIGHTS
RESERVED.
SCOUG, Warp Expo West, and Warpfest are trademarks of the Southern California OS/2 User Group.
OS/2, Workplace Shell, and IBM are registered trademarks of International
Business Machines Corporation.
All other trademarks remain the property of their respective owners.
|