home *** CD-ROM | disk | FTP | other *** search
/ Fish 'n' More 1 / FishNMoreVol1.bin / more / drive_utils / benchmark / diskspeed / diskspeed.doc < prev    next >
Text File  |  1990-02-03  |  10KB  |  215 lines

  1.  
  2.                          DiskSpeed v3.0
  3.                                by
  4.                           Michael Sinz
  5.  
  6.             Copyright (c) 1989 by MKSoft Development
  7.  
  8.  
  9. Yes, this is yet another disk speed testing program, but with a few
  10. differences.  It was designed to give the most accurate results of the
  11. true disk performance in the system.  For this reason many of
  12. DiskSpeed's results may look either lower or higher than current disk
  13. performance tests.
  14.  
  15. This program was thrown together in a few hours because I needed more
  16. accurate and consistent results for disk performance as seen from the
  17. application's standpoint.  This program has now served its purpose and
  18. I am now giving it to the rest of the Amiga world to play with as long
  19. as all of the files remain together in unmodified form.  (That is, the
  20. files DiskSpeed, DiskSpeed.info, DiskSpeed.c, DiskSpeedWindow.c,
  21. DiskSpeedWindow.h, MakeBoxes.c, MakeBoxes.h, StandardGadgets.c,
  22. StandardGadgets.h, RenderInfo.c, RenderInfo.h, DiskSpeed.doc, and
  23. MakeFile)
  24.  
  25. Version 2.0 of this program added a few features and cleaned up the
  26. user interface.  I hope you like this...
  27.  
  28. Version 3.0 of this program added the performance stress and cleaned up
  29. some parts of the older code.  (Fix to RenderInfo.c)
  30.  
  31. ************************************************************************
  32.  
  33.     Reading legal mush can turn your brain into guacamole!
  34.  
  35.         So here is some of that legal mush:
  36.  
  37. Permission is hereby granted to distribute this program's source,
  38. executable, and documentation for non-commercial purposes, so long as
  39. the copyright notices are not removed from the sources, executable or
  40. documentation.  This program may not be distributed for a profit
  41. without the express written consent of the author Michael Sinz.
  42.  
  43. This program is not in the public domain.
  44.  
  45. Fred Fish is expressly granted permission to distribute this program's
  46. source and executable as part of the "Fred Fish freely redistributable
  47. Amiga software library."
  48.  
  49. Permission is expressly granted for this program and it's source to be
  50. distributed as part of the Amicus Amiga software disks, and the First
  51. Amiga User Group's Hot Mix disks.
  52.                                          
  53. ************************************************************************
  54.  
  55. ------------------------------------------------------------------------
  56.  
  57.                             User's Guide
  58.  
  59. DiskSpeed is very easy to operate.  Just start the program by either
  60. clicking on its icon or typing its name in from the CLI.  DiskSpeed
  61. will open another window with the "Drive:" string gadget active. Enter
  62. the drive name and select "Test" from the menu and DiskSpeed will go
  63. and test that device.  The results will be displayed as they are
  64. generated.
  65.  
  66. After the device has been tested, the results may be saved to the
  67. DiskSpeed.Results file in the current directory or printed on the
  68. printer.  When the results are saved in DiskSpeed.Results, they are
  69. appended to the end of that file in order to make it possible to create
  70. a single file containing the results of all of your devices.
  71.  
  72. ------------------------------------------------------------------------
  73.  
  74.                       How Does DiskSpeed Work?
  75.  
  76. DiskSpeed is rather simple.  It uses the Amiga's Timer.device to get
  77. and calculate the time differences between the start and end of each
  78. test section.  This timer is locked to the VBlank frequency and thus is
  79. rather stable and accurate.  (Resolution is ~0.02 seconds so the
  80. accuracy is +/- ~0.04 seconds.  This should be rather good as most
  81. operations take well over 2 seconds...)
  82.  
  83. The tests work as follows:
  84.  
  85. DiskSpeed will first create a temporary directory on the selected
  86. device.  Note that the device will have to be write enabled and will
  87. need around 600 free blocks.  (Depends on the filing system)  All tests
  88. are done in this directory and all files and this directory are removed
  89. when the test is completed.  It is for this reason that some parts of
  90. the tests can not be stopped as there is a large amount of cleanup
  91. after them.
  92.  
  93. Gadgets in DiskSpeed 2.0------------------------------------------------
  94.  
  95. Device Gadget:    This is the device that is to be tested...
  96.  
  97. Comment Gadget:    This is the comment that will be written out with
  98.         the results of the test.  (79 characters...)
  99.  
  100. Test Intensity:    This selects the test intensity.  Due to the timer
  101.         on the Amiga, you will get more accurate results
  102.         with a higher test intensity.  However, when testing
  103.         slow drives or floppies, this may not be a good
  104.         thing as it would take too long.  The settings
  105.         select the multipliers that will be used during testing.
  106.         This affects the number of times the large file
  107.         is read for the Create/Write/Read tests.
  108.  
  109.         Low settings on a FAST device will give inaccurate
  110.         values.  High settings on a slow device will take
  111.         a long time to complete.
  112.  
  113. Perfomance
  114.     Stress:    These two settings turn on the stress code for either
  115.         DMA or CPU performance.
  116.  
  117.         The DMA stress will cause a very large COPPER list to
  118.         be generated that will eat up as many CHIP/DMA cycles
  119.         as it can.  It leaves a few at VBlank, as to simulate
  120.         a relatively "standard" DMA load as would be seen in
  121.         heavy video overscan.  Note that this is not 100% the
  122.         same as video overscan, however, it is within +/- 5%
  123.         of the DMA usage.  Also note that this depends on your
  124.         software's useage of overscan too.
  125.  
  126.         The CPU stress will make a simple task that just sits
  127.         there copying strings from one place to another.  This
  128.         is to simulate a heavy multi-tasking load on the system
  129.         and what that does to disk performance.  Note that since
  130.         this is a CPU stress, this causes the AmigaDOS routines
  131.         to also slow down a bit.  This simulates much the same
  132.         enviroment as a system that is doing a RAY-Trace or
  133.         other 3D type of generation while your system is doing
  134.         disk I/O in other operations.  (Many people run the
  135.         ray-tracers in the background while they do other work)
  136.  
  137.         Note that these two stress settings can be use together
  138.         to stress *BOTH* CPU and DMA.
  139.  
  140. File Create Test:    ------------------------------------------------
  141.  
  142. In this test, the program generates some unique file names.  As each of
  143. the names are generated, the program Open()s the file as MODE_NEWFILE
  144. and the Close()s it.  This is to time the overhead in creating a file.
  145. All of the files created are 0-bytes in length as no data is written to
  146. these files.  These same files will be used for the Directory Scan,
  147. File Open/Close, and File Delete tests.
  148.  
  149. File Open/Close Test:    ------------------------------------------------
  150.  
  151. In this test, the program opens and then closes each of the files that
  152. were created in the test above.  This shows the overhead for these
  153. calls...
  154.  
  155. Directory Scan Test:    ------------------------------------------------
  156.  
  157. In this test, the directory of files created in the File Create test is
  158. scanned three times to see how quickly the system can walk directories.
  159.  
  160. File Delete Test:    ------------------------------------------------
  161.  
  162. This test times the deletion of the files created in the File Create
  163. test.  This shows the overhead in the deletion of a file from the
  164. filing system/device.  After this point, the program once again checks
  165. for the close gadget as it would be safe to exit here.
  166.  
  167. Seek And Read Test:    ------------------------------------------------
  168.  
  169. For this test, a 256K-byte file was created.  The program seeks to the
  170. start of the file and reads 64 bytes; then it seeks to the end of the
  171. file - 128 bytes and then reads 64 bytes; then it seeks to the middle
  172. of the file and reads 64 bytes.  It uses each of the three seeking
  173. methods (OFFSET_BEGINNING, OFFSET_END, OFFSET_CURRENT) to do this. This
  174. activity is repeated 150 times, for a total of 450 seek/reads. The
  175. timings from this test will show both disk seek performance and
  176. filesystem performance in the calculation of seek locations and actual
  177. block values.
  178.  
  179. Raw Write/Create Test:    ------------------------------------------------
  180.  
  181. For this test, a 256K-byte file is created.  The program recreates this
  182. file for each pass, thus showing the speed of laying down new blocks on
  183. the drive.  The data is written in n-byte increments. (In the current
  184. version of DiskSpeed, this is 512, 4096, 32768, and 262144 byte
  185. chunks.) The complete file is written multiple times to give a more
  186. complete view of actual read speeds.  This test will mainly show the
  187. raw data transfer rate of the machine plus the overhead of the
  188. operating system calls and device driver calls.  If the disk was very
  189. fragmented, it would also show some signs of how the seek time is
  190. causing performance to drop due to the fragmentation.
  191.  
  192. Raw Write Test:        ------------------------------------------------
  193.  
  194. For this test, a 256K-byte file was created.  The program seeks to the
  195. start of the file and writes it in n-byte increments.  (In the current
  196. version of DiskSpeed, this is 512, 4096, 32768, 262144 byte chunks.)
  197. The complete file is written multiple times to give a more complete
  198. view of actual write speeds.  This test will mainly show the raw data
  199. transfer rate of the machine plus the overhead of the operating system
  200. calls and device driver calls.  If the disk was very fragmented, it
  201. would also show some signs of how the seek time is causing performance
  202. to drop due to the fragmentation.
  203.  
  204. Raw Read Test:        ------------------------------------------------
  205.  
  206. For this test, a 256K-byte file was created.  The program seeks to the
  207. start of the file and reads it in n-byte increments.  (In the current
  208. version of DiskSpeed, this is 512, 4096, 32768, and 262144 byte
  209. chunks.) The complete file is read multiple times to give a more
  210. complete view of actual read speeds.  This test will mainly show the
  211. raw data transfer rate of the machine plus the overhead of the
  212. operating system calls and device driver calls.  If the disk was very
  213. fragmented, it would also show some signs of how the seek time is
  214. causing performance to drop due to the fragmentation.
  215.