
                 _    _ _____                          _ 
                | |  | |  __ \                        | |
                | |__| | |  | |___ _ __   ___  ___  __| |
                |  __  | |  | / __| '_ \ / _ \/ _ \/ _` |
                | |  | | |__| \__ \ |_) |  __/  __/ (_| |
                |_|  |_|_____/|___/ .__/ \___|\___|\__,_|
                                  | |                    
                                  |_|                    

                          Hard Disc Speed Test

                   Copyright David Holden 1994 - 1998





                        Contents
                        --------

       About HDspeed
               Description                     1.1
               Use with RISC-OS 2              1.2
               Licence to Use  READ THIS       1.3
               Licence to Copy                 1.4
       Using HDspeed
               Starting HDspeed                2.1
               Iterations                      2.2
               Disabling a test                2.3
               Time and KB/sec                 2.4
               % Comparison                    2.5
               Testing a drive                 2.6
               Pause and Stop                  2.7
               Saving the results              2.8
               Text Logfile                    2.9
               CSV file                        2.10
               The !SpeedLogs application      2.11
       The tests
               Random access tests             3.1
               Block load and save             3.2
               General notes                   3.3
       Configuration           
               Saving the configuration        4.1
               The Baseline file               4.2



                        About !HDspeed
                        --------------

1.1     Description

!HDspeed is a straightforward program for testing the speed of hard disc
drives and interfaces. It can be used to test almost any type of disc,
even floppies, on any filing system. The only requirements are that it
must be a standard Filecore filing system and respond to normal OS_File
commands. It was originally written entirely for my own use and the
first release wasn't particularly fancy or sophisticated. This is a much
improved version with a Wimp 'front end' and is much more
'user-configurable'.

I have looked at lots of hard disc speed programs and this is the only
one I have seen where the test results obtained correspond with the
'subjective' feel I get from the drive when I use it. In recent years I
have tried many different types of drive and interface and I have never
yet found one which gave test results returned by this program which
were at odds with the 'feel' of the drive in use. In fact I never use
this test first, I try the drive, form an opinion and then test it, as
this way my subjective opinion can't be influenced by the test.

This program, unlike most of those supplied by hard disc distributors,
is NOT designed to show up the best points of a particular drive or
interface. I am not interested in phony Mb/sec statistics because they
are absolutely meaningless. (When was the last time you sat in front of
a Mode 0 screen swapping 20Mb chunks of data around?). The tests used
are intended to reflect the way that drives are used in the real world,
and to return results which, although still meaningful in absolute
terms, can be directly compared with the results obtained when the
program is used with another drive or interface to give a comparison
between the performance you will experience when you put them to work
for normal everyday use.



1.2     Use with RISC-OS 2

Although the program is specified as RO3 only there is no reason why it
is unsuitable for RO2, it is simply that the Templates have been
designed with features specific to RO3 and the program has not been
tested with RO2.

This program is not Public Domain, it is
         ____  _                                           
        / ___|| |__   __ _ _ __ _____      ____ _ _ __ ___ 
        \___ \| '_ \ / _` | '__/ _ \ \ /\ / / _` | '__/ _ \
         ___) | | | | (_| | | |  __/\ V  V / (_| | | |  __/
        |____/|_| |_|\__,_|_|  \___| \_/\_/ \__,_|_|  \___|
                                                   
Shareware is NOT 'free software'. It is copyrighted, commercial
software, just like any other programs you buy. Shareware is simply a
try before you buy distribution method. Using a Shareware program
without paying is software piracy, and carries exactly the same
penalties as using any other illegally copied program.

1.3     Licence to use

You are licensed to evaluate this program for a period of Seven Days. At
the end of this time you must either stop using it or send a cheque for
Six Pounds to me at the address below. Alternatively you can telephone,
fax or email and register by credit card. Use after this time is a
breach of this licence and, as well as being morally reprehensible, is
now a criminal offence.

When you register I will send the latest version and your personal
'H_Reg' file which will disable the annoying start up message and put
your name in the 'Info' box instead of the word 'Unregistered'. You will
also get a laser printed Manual. The H_Reg file contains your encrypted
name and will work with any future version of !HDspeed. This means that,
provided you remove the H_reg file first you can pass a copy of !HDspeed
on to your friends, or obtain a later version from a PD library or BBS.

The cost of the program has been kept deliberately low to encourage
registration. I appreciate that most people will not use this program
over a long period, but I would ask you to consider that considerable
effort has gone into it. I could have simply kept it to myself, but I
chose to make it available to others. The Registration fee is
insignificant compared with the cost of even a very cheap hard disc, so
if you use it to help you to choose a drive please

                DON'T FORGET TO REGISTER

just because you think you will never need it again!

                David Holden
                39 Knighton Park Road 
                Sydenham
                London SE26 5RN

                Phone:  0181 778 2659
                Fax:  0181 488 0487
                email:  info@apdl.co.uk

1.4     Licence to copy

Any private individual may distribute copies of !HDspeed provided this
is done without charge for the program or documentation.

If you charge any fee for copying this program, whether in money or in
kind, or if you control any media, including bulletin boards, which
distributes software you are not permitted to distribute this program
without prior permission of the Author. This permission will normally be
granted with only minor restrictions.

If you wish to distribute this program please write to the address below
enclosing a SAE and a disc so I can send you the latest version.
Distribution by any organisation without this permission will be treated
as Breach of Copyright. You must not make any charge for the program,
although you may make a charge to cover media and distribution costs. No
alterations may be made to the program, ancillary files, or
documentation and you must include the Manual (this) file. You must
ensure that you supply the Baseline file derived from a Miniscribe 20Mb
ST506 drive referred to in this Manual. You must always include a copy
of the !SpeedLogs application with !HDspeed, and this should not be
distributed separately. You must ensure that you do not include a Setup
file in the application directory so that !HDspeed will automatically
start up using it's normal default settings. You may include additional
Baseline or  Logfiles if you wish, but you must not make any charge for
doing so.

Use of this program for any Commercial purpose or for the Demonstration
or Promotion of any product or service without prior written permission
of the Author is Absolutely Forbidden. I reserve the right to charge a
Fee for granting  permission.

It is strictly forbidden to distribute copies of an H_Reg file or any
version of the program which does not display the 'Start Up' message.

1.5      A.S.P. Message

This program is produced by a member of the Association of Shareware 
Professionals (ASP). ASP wants to make sure that the Shareware 
principle works for you. If you are unable to resolve a shareware 
related problem with an ASP member by contacting the member directly, 
ASP may be able to help. The ASP Ombudsman can help you resolve a 
dispute or problem with an ASP member, but does not provide technical 
support for members' products. Please write to the ASP Ombudsman at  545
Grover Road, Muskegon, MI 49442-9427, U.S.A.  or send a  CompuServe
message via CompuServe Mail to ASP Ombudsman 70007,3536 or  FAX
616-788-2765.

                        Using !HDspeed
                        --------------

2.1     Starting !HDspeed

To use the program double-click on the icon and it will install itself
on the icon bar. Clicking MENU on the icon will display a Menu with the
usual 'Info' and 'Quit' plus a third item 'Save log'. At this stage
clicking on this will have no effect.

If you click SELECT on the icon the main window will open. This is
rather large and nearly fills a Mode 12 screen. At the left of this are
two areas showing the tests which will be carried out.

2.2     Iterations

After the description of each test most have a writable icon in a column
labelled 'Iterations'. This is the number of times the test will be
carried out. You can change these entering the number you want. It is
best to perform the shorter tests several times so the elapsed time
measurement can be 'averaged' and therefore be more accurate. This is
not so important with the longer tests, especially the random read/write
tests, which is why these are always performed only once.

2.3     Disabling a test

After 'Iterations' is a column of 'Option' icons. These are normally all
ON, but if you set any OFF that test will not be performed.

2.4     Time and KB/sec

At first the icons in this column are blank, but as each test is
performed they show the time in centiseconds (c/s, 1/100th's of a
second) the test took for byte access tests or data transfer speed in
Kilobytes per Second for block load and save tests. Where several
iterations of a test are performed time is time taken per iteration, not
total time.

2.5     % Comparison

This column shows percentage increase over the 'baseline' speeds. The
default baseline speeds are those obtained by testing a Miniscribe 20Mb,
65 ms, ST506 drive, as fitted to the A420 series. This is probably about
the slowest drive you are likely to encounter, so test results will
normally be faster by 200%, 300%, or even more.

A result of 100% means that the drive tested is exactly the same speed
as the baseline. 200% would mean it is twice as fast, 50% only half as
fast, and so on.

2.6     Testing a drive

Open a filer window on the drive you want to test. At the right hand
side of the main window you will see a Hard Disc icon, drag this to a
filer window on the drive. A temporary file will be created and the
tests will begin. The status message just above this icon will change
from 'Waiting' to 'Working' and the icons labelled 'File system' and
'Drive' at the top RH corner will show the filing system (ADFS, IDEFS,
SCSI, etc.) that is controlling the drive and the disc name.

As each test is carried out the results will appear in their respective
icons. If you have chosen to skip any tests the word 'Omit' will appear
in the results icon for that test. If there is a 'recoverable' error
during a test then an error message will appear and a line of **'s will
be shown in the results icon.

IMPORTANT - The program operates in the Desktop so that the results
returned are 'real' and reflect the performance you can expect with a
drive and controller in normal use. It is best if you do not touch the
keyboard or move the mouse while the program is operating as this can
interfere with the results. This is not likely to be significant,
particularly faster machiness, but it could influence results on an
ARM-2 model. Similarly because, unlike some programs intended to produce
artificial results, you can control the screen mode used, you should
always use the same desktop mode when testing. Again this is not so
important with machines like the RiscPC.

2.7     Pause and Stop

These do exactly what their name implies. 'pause' will temporarily stop
operations and the Status message will show 'Paused'. You can continue
by clicking on 'Pause' again.

'Stop' will abandon the test after asking if you are sure.

There is a delay before these take effect because the Wimp is not polled
during disc operations so nothing will happen until the current
operation is completed.

2.8     Saving the results

When the tests are complete th 'finished' window will open from wich you
can save the results either as a 'Logfile', which is just a plain text
file that you can edit, print, incorporate into other documents or just
keep for reference, or as a CSV file.

Before you save the Logfile you can enter text in two icons in this
window. This will appear in your Logfile so you can use it to record
descriptive text such as the drive and controller type or other
information you wish to include. As well as these comments the first
line of the Logfile will show the filing system and disc name of the
drive tested and the time and date the test was carried out.

By default the name of the drive will appear in the filename icon but
you will probably want to change this before saving the Logfile. This is
always a good idea to avoid 'wiping out' another Logfile with the same
name.

2.9     Text logfile

The Logfile can be saved by dragging the Textfile icon to a filer
window, by clicking on the OK icon, or by pressing RETURN with the caret
in the Filename icon. Either of the two latter methods will result in a
Text Logfile being saved in the special directory reserved for them (see
below).

If you close the window you can re-open it by clicking on 'Save log' on
the icon bar menu.

2.10    CSV file

To make it easy to keep and compare more complex records the results can
be saved as a CSV file. This is done by dragging the CSV icon instead of
the Textfile icon. If you intend to save both types of result make sure
you either store them in separate directories (best) or with different
names.

The format of the CSV file is a single line comprising a series of
fields in double quotes. The first three fields are always present and
are the drive name and the contents of the two 'comment' icons in the
'finished' window. Following this are the results obtained for all the
tests that were carried out. This will be the numeric result, not the
percentage. After a series of tests you would have to amalgamate these
before loading them into a database or spreadsheet. This can be done
very easily using !Edit or any other text editor.

Note that this means that if you had chosen to omit a test then that
field will be omitted from the CSV file, not left blank. The distinction
is important, because it means that if you intend to keep CSV records
you must always omit the same tests (or, of course, always omit none) or
the CSV fields will get 'out of step' with other records when you load
them into a database or spreadsheet. This method was chosen because if
you do decide to consistently omit certain tests your database will only
require fields for the test results actually returned.

2.11    The !SpeedLogs application

As well as the !HDspeed application you should find another application
called !SpeedLogs. This is simply a convenient place to put all the
Logfiles. Once the Filer has 'seen' this application the main HDspeed
program will 'know' where it is and so will be able to save all your
Logfiles in the correct place without the need to open a filer window.
This is particularly useful when testing hard drives because it lets you
keep the !SpeedLogs application on a floppy disc so you can switch hard
discs.

If you double-click on the !SpeedLogs application it will open the
directory containing the Logfiles. This also resets the OS variable
which defines the location of the Logfile directory so if you move the
!SpeedLogs application you should double-click on it to ensure that the
!HDspeed application will know where to find it!


                        The Tests
                        ---------

The tests used are divided into two sections, random access and block
load/save.

3.1     Random access tests

First a large test file is created. By default this is 8Mb but you can
change it. The size is shown in the icon labelled 'Random size' near the
top RH side of the main window. you can either enter a size directly, or
if you click MENU with the mouse pointer over this icon you can select
the size you want from the menu which will appear. Beside the icon are
two 'option' icons labelled 'Mb' and 'Kb'. As this suggests, these
define whether the file size is in Megabytes or Kilobytes. Obviously
megabytes would normally be used but you may wish to use kilobytes for
testing floppy disc access times or for carrying out tests on a file of
a specific size.

The first test reads 50K sequentially from this file, the next writes
50K sequentially. This should give a fairly fast result. The next two
tests do the same with 512K. These sizes were chosen because most cached
drives have at least a 64K cache so the first test might be simply
written to the cache, but very few have a cache as large as 500K so the
drive will need to read repeatedly directly from the disc. Unless you
have a very small drive the head should only need to step once or twice
during this test, so step speed should not be a significant factor.

The next four tests are much more demanding. These use the same random
access file but read and write 1,000 bytes to anywhere in the file at
random. In fact the random number generator is 'seeded' so the same
random sequence is generated each time. The first pair just write to the
first 50K so not much track switching should be needed, and a well
managed cache could 'field' much of this. The second test reads and
writes over the whole file. 1,000 operations might not sound like a lot,
but if you have an 8Mb file the disc head will have to do a LOT of
rushing about as it zooms from one end of the file to the other. This is
a good trial of drive 'seek' speed and is perhaps the most demanding
test used. A large modern drive should perform well here but if you have
an old ST506 drive go and put the kettle on first - it really will take
ages!

The results of all these tests are shown in hundredths of a second.
Where a test has been performed more than once this is the average time
taken for each iteration, not the total time for all. 

3.2     Block load/save

These use standard OS_File commands to load and save a block of memory.
The first two test load and save a 50Kb file. This isn't a very large
file but it is about the average size used by many programs. The next
two tests again load and save but this time the block of memory is very
much larger. By default this is 2Mb but it is shown in the icon 'Lge
block file' on the rh side of the window and can be changed in exactly
the same way as the Random Access file size. As these operations
transfer data in a block from RAM to disc you must have at least as much
free RAM as the size you choose. You will therefore need at least 4Mb of
RAM to retain it at this size, so if you have only 2Mb I suggest you
change its value to 1Mb or perhaps 1500 kilobytes.

The next three tests are a variation on this theme. The first
alternately saves and loads a 50K block, the second a 512K block, and
the  third alternately saves and loads the large block file.

The reason for choosing these three sizes is that 50K might be held in
the cache of a drive as many modern drives have a 64K cache. Since 50K
is a reasonable average small file size on an Acorn computer it gives a
good indication of repeatedly loading/saving a wp or program source
file. 512K almost certainly won't be held in a cache so it is a good
test of loading and saving larger DTP, graphics, spreadsheet or other
files.

Instead of showing the time actually taken by each test the results are
instead translated into Kilobytes per Second. This is done for two
reasons. Firstly it allows a direct comparison to be made between the
various tests without the need to perform mental arithmetic on the
results. Secondly this is the way that the results of most commercial
programs are shown so once again it permits a direct comparison.

Don't be surprised if a 'speed test' program supplied by the
manufacturer of your interface board seems to give a higher Mb/sec
transfer speed than !HDspeed. It may well use direct commands to the
interface, disable screen updates, or other dubious techniques to
'massage' the statistics. Ignore all of these results. The ones that
matter are those returned by HDspeed because it uses the same techniques
as 'real' programs and so reflects the way your hard drive will be used
in practice rather than just trying to make it, or the interface, look
good!

3.3     General notes

There must obviously be enough space on the drive for the temporary
file. To get the best results this file should be contiguous, ie. not
fragmented. If the drive you are testing has been in use for some time
it could well be that although it might have 20Mb of free space this is
all in small chunks. When the test file is created it could be split up
into several pieces spread about over the disc and you will get
extremely disappointing results, especially for large file random access
tests.

As there isn't (to my knowledge) a proper de-frag program for the
Archimedes the only way to do this properly to a hard drive is to copy
the files somewhere else, delete them from the drive, and then copy them
back again. Quite often the only way to do this (unless you have lots of
spare space) is to perform a Backup and Restore.

In order to get the best from this program you need to be able to
interpret the results intelligently. The random access tests, especially
using a large file, should give a good indication of how fast the drive
can seek to a particular track or sector. These tests are unlikely to be
influenced by the interface used, although a good, cached, interface, or
a cache on the drive, may improve the times with smaller files.

The block load and save tests should show up any deficiencies in either
the drive or the interface. If your formatting program permits the
interlace or block size to be changed you may wish to experiment with it
in order to improve these speeds, as this can often have a dramatic
effect. Once again, a well designed cache can improve small file
performance considerably. If the cache is bigger than 50K then if you
are repeatedly loading the file a 'smart' cache will 'know' after the
first time that it has all the data you require in the cache, so it
won't need any physical disc access for subsequent operations. This test
can therefore be an indication of how fast the data can be transferred
from the drive software and handled by the interface, without being
affected by the performance of the drive hardware. A slow drive with a
good cache may out-perform a much faster drive with a poor cache on this
test.

The large file load and save tests are brute force speed tests. They
should return quite high transfer rates if the drive is clean when the
test file is created. These tests are most likely to be influenced by a
wrongly suited sector interleave. The often quoted and much overrated
Step Speed of a drive will probably not have too much effect.

You may notice that the drive operates one more time than the number of
iterations. This is not a mistake. The first time the drive operates it
creates the file, otherwise it might be trying to use a file that
doesn't exist.

                        Configuration
                        -------------

4.1     Saving the configuration

You may have noticed the three buttons named 'Save', Restore' and
'Default' in the box labelled 'Setup' at the bottom of the main window.
Clicking on 'Save' will save your configuration as a file called 'Setup'
in the application directory. This means the file sizes, which tests are
enabled/disabled, and the number of times each test is carried out. This
will automatically be loaded the next time the application is Run. If
you change these setting then clicking on 'Restore' will re-load the
Setup file thus restoring the configuration to your chosen settings.

Clicking on 'Default' will reset everything to the default settings.

4.2     The 'Baseline' file

In the !HDspeed application directory you will find a text file called
'Baseline'. This is the datum from which the 'relative percentage'
results are calculated. The file supplied with the application was
obtained from a Miniscribe 20Mb ST506 drive fitted to an A420. If you
wish you can, of course, change this, although you should keep a copy of
the original so that if you do wish to pass on a copy of !HDspeed to a
friend you can supply the standard baseline file.

For example, you may intend to buy a new drive or interface and want to
find out how the speed of a prospective purchase compares with your
present setup. If you  create a personal Baseline file from your present
drive any trials you carry out will then show the comparison between
your current drive and the new one you are trying, so you can see
instantly how much faster (or slower!) a prospective purchase would be.

You can load the default Baseline file into a text editor to see how it
is constructed.

Any line beginning with a vertical bar character (|) is a comment and
will be ignored.

The first significant line should describe the baseline derivation and
will always appear in a Logfile so that you know the reference for
comparative results. This line MUST be present, although its content is
entirely at your discretion.

After this come fifteen numbers, one on each line. These are the test
results taken from your datum drive, and should be entered exactly as
they appear in the main window or in the Logfile for that drive. The
first eight numbers are the random access test results, and these may
have a decimal component. The last eight numbers are the Kb/sec data
transfer rates and these should be whole numbers.

DO NOT USE TAB CHARACTERS in the Baseline file.

