home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
350.lha
/
DiskSpeed_v3.0
/
DiskSpeed.doc.pp
/
DiskSpeed.doc
Wrap
Text File
|
1990-03-08
|
10KB
|
215 lines
DiskSpeed v3.0
by
Michael Sinz
Copyright (c) 1989 by MKSoft Development
Yes, this is yet another disk speed testing program, but with a few
differences. It was designed to give the most accurate results of the
true disk performance in the system. For this reason many of
DiskSpeed's results may look either lower or higher than current disk
performance tests.
This program was thrown together in a few hours because I needed more
accurate and consistent results for disk performance as seen from the
application's standpoint. This program has now served its purpose and
I am now giving it to the rest of the Amiga world to play with as long
as all of the files remain together in unmodified form. (That is, the
files DiskSpeed, DiskSpeed.info, DiskSpeed.c, DiskSpeedWindow.c,
DiskSpeedWindow.h, MakeBoxes.c, MakeBoxes.h, StandardGadgets.c,
StandardGadgets.h, RenderInfo.c, RenderInfo.h, DiskSpeed.doc, and
MakeFile)
Version 2.0 of this program added a few features and cleaned up the
user interface. I hope you like this...
Version 3.0 of this program added the performance stress and cleaned up
some parts of the older code. (Fix to RenderInfo.c)
************************************************************************
Reading legal mush can turn your brain into guacamole!
So here is some of that legal mush:
Permission is hereby granted to distribute this program's source,
executable, and documentation for non-commercial purposes, so long as
the copyright notices are not removed from the sources, executable or
documentation. This program may not be distributed for a profit
without the express written consent of the author Michael Sinz.
This program is not in the public domain.
Fred Fish is expressly granted permission to distribute this program's
source and executable as part of the "Fred Fish freely redistributable
Amiga software library."
Permission is expressly granted for this program and it's source to be
distributed as part of the Amicus Amiga software disks, and the First
Amiga User Group's Hot Mix disks.
************************************************************************
------------------------------------------------------------------------
User's Guide
DiskSpeed is very easy to operate. Just start the program by either
clicking on its icon or typing its name in from the CLI. DiskSpeed
will open another window with the "Drive:" string gadget active. Enter
the drive name and select "Test" from the menu and DiskSpeed will go
and test that device. The results will be displayed as they are
generated.
After the device has been tested, the results may be saved to the
DiskSpeed.Results file in the current directory or printed on the
printer. When the results are saved in DiskSpeed.Results, they are
appended to the end of that file in order to make it possible to create
a single file containing the results of all of your devices.
------------------------------------------------------------------------
How Does DiskSpeed Work?
DiskSpeed is rather simple. It uses the Amiga's Timer.device to get
and calculate the time differences between the start and end of each
test section. This timer is locked to the VBlank frequency and thus is
rather stable and accurate. (Resolution is ~0.02 seconds so the
accuracy is +/- ~0.04 seconds. This should be rather good as most
operations take well over 2 seconds...)
The tests work as follows:
DiskSpeed will first create a temporary directory on the selected
device. Note that the device will have to be write enabled and will
need around 600 free blocks. (Depends on the filing system) All tests
are done in this directory and all files and this directory are removed
when the test is completed. It is for this reason that some parts of
the tests can not be stopped as there is a large amount of cleanup
after them.
Gadgets in DiskSpeed 2.0------------------------------------------------
Device Gadget: This is the device that is to be tested...
Comment Gadget: This is the comment that will be written out with
the results of the test. (79 characters...)
Test Intensity: This selects the test intensity. Due to the timer
on the Amiga, you will get more accurate results
with a higher test intensity. However, when testing
slow drives or floppies, this may not be a good
thing as it would take too long. The settings
select the multipliers that will be used during testing.
This affects the number of times the large file
is read for the Create/Write/Read tests.
Low settings on a FAST device will give inaccurate
values. High settings on a slow device will take
a long time to complete.
Perfomance
Stress: These two settings turn on the stress code for either
DMA or CPU performance.
The DMA stress will cause a very large COPPER list to
be generated that will eat up as many CHIP/DMA cycles
as it can. It leaves a few at VBlank, as to simulate
a relatively "standard" DMA load as would be seen in
heavy video overscan. Note that this is not 100% the
same as video overscan, however, it is within +/- 5%
of the DMA usage. Also note that this depends on your
software's useage of overscan too.
The CPU stress will make a simple task that just sits
there copying strings from one place to another. This
is to simulate a heavy multi-tasking load on the system
and what that does to disk performance. Note that since
this is a CPU stress, this causes the AmigaDOS routines
to also slow down a bit. This simulates much the same
enviroment as a system that is doing a RAY-Trace or
other 3D type of generation while your system is doing
disk I/O in other operations. (Many people run the
ray-tracers in the background while they do other work)
Note that these two stress settings can be use together
to stress *BOTH* CPU and DMA.
File Create Test: ------------------------------------------------
In this test, the program generates some unique file names. As each of
the names are generated, the program Open()s the file as MODE_NEWFILE
and the Close()s it. This is to time the overhead in creating a file.
All of the files created are 0-bytes in length as no data is written to
these files. These same files will be used for the Directory Scan,
File Open/Close, and File Delete tests.
File Open/Close Test: ------------------------------------------------
In this test, the program opens and then closes each of the files that
were created in the test above. This shows the overhead for these
calls...
Directory Scan Test: ------------------------------------------------
In this test, the directory of files created in the File Create test is
scanned three times to see how quickly the system can walk directories.
File Delete Test: ------------------------------------------------
This test times the deletion of the files created in the File Create
test. This shows the overhead in the deletion of a file from the
filing system/device. After this point, the program once again checks
for the close gadget as it would be safe to exit here.
Seek And Read Test: ------------------------------------------------
For this test, a 256K-byte file was created. The program seeks to the
start of the file and reads 64 bytes; then it seeks to the end of the
file - 128 bytes and then reads 64 bytes; then it seeks to the middle
of the file and reads 64 bytes. It uses each of the three seeking
methods (OFFSET_BEGINNING, OFFSET_END, OFFSET_CURRENT) to do this. This
activity is repeated 150 times, for a total of 450 seek/reads. The
timings from this test will show both disk seek performance and
filesystem performance in the calculation of seek locations and actual
block values.
Raw Write/Create Test: ------------------------------------------------
For this test, a 256K-byte file is created. The program recreates this
file for each pass, thus showing the speed of laying down new blocks on
the drive. The data is written in n-byte increments. (In the current
version of DiskSpeed, this is 512, 4096, 32768, and 262144 byte
chunks.) The complete file is written multiple times to give a more
complete view of actual read speeds. This test will mainly show the
raw data transfer rate of the machine plus the overhead of the
operating system calls and device driver calls. If the disk was very
fragmented, it would also show some signs of how the seek time is
causing performance to drop due to the fragmentation.
Raw Write Test: ------------------------------------------------
For this test, a 256K-byte file was created. The program seeks to the
start of the file and writes it in n-byte increments. (In the current
version of DiskSpeed, this is 512, 4096, 32768, 262144 byte chunks.)
The complete file is written multiple times to give a more complete
view of actual write speeds. This test will mainly show the raw data
transfer rate of the machine plus the overhead of the operating system
calls and device driver calls. If the disk was very fragmented, it
would also show some signs of how the seek time is causing performance
to drop due to the fragmentation.
Raw Read Test: ------------------------------------------------
For this test, a 256K-byte file was created. The program seeks to the
start of the file and reads it in n-byte increments. (In the current
version of DiskSpeed, this is 512, 4096, 32768, and 262144 byte
chunks.) The complete file is read multiple times to give a more
complete view of actual read speeds. This test will mainly show the
raw data transfer rate of the machine plus the overhead of the
operating system calls and device driver calls. If the disk was very
fragmented, it would also show some signs of how the seek time is
causing performance to drop due to the fragmentation.