BenchmarkeD
"Get the best experience with modern storage devices!"
> What is BenchmarkeD?
BenchmarkeD is a benchmark utility for the Apple IIgs. It allows you to calculate an average throughput in reading and writing files and sequential disk blocks of your ProDOS volumes.
BenchmarkeD uses standard GS/OS routines to perform its tests.
Download a ZIP archive with a 800K .PO image and two 32M .PO and .2mg images to perform your tests.
> Why BenchmarkeD?
Until now, there were no such utilities for the Apple IIgs. Nowadays, disk devices are USB sticks or Compact Flash cards, physical devices such as hard disk drives or 3.5" drives are no longer used.
It is time to determine the fastest device to get the best experience with modern storage devices.
> How to use?
From the Finder, copy BenchmarkeD to the ProDOS volume you would like to test and launch it from there.
> How does it work?
BenchmarkeD is a GS/OS text application which offers four features divided into two kinds of tests:
- File tests
- 1- Write speed
- 2- Read speed
- Disk tests
- 3- Read with 64K buffer
- 4- Read block-by-block
Just press a number between 1 and 4 and let BenchmarkeD calculate the throughput for you. Note that a test can be stopped by pressing CTRL-C.
From the main menu, press 'Q' or 'q' to quit the application.
> What is the protocol?
The common protocol of the four options of BenchmarkeD is to calculate the throughput in KB/s (kilo bytes per second) by getting the time at the beginning of an action and at the end.
The size of the file or of the volume (in KB) is divided by the number of seconds of the test to calculate the KB/s value.
> File tests
To perform its file tests, BenchmarkeD either creates or reads files of the following size on your test volume: 512K, 1M, 2M, 4M, 8M and 16M (which is the limit of a file size under a ProDOS volume).
The used filename is binary "File" suffixed with the file size and each pass writes or reads 64K of data.
Write speed (option 1) tries to create files of different sizes starting from 512K to 16M. In case of I/O error or if the volume is full, the process is stopped. If your volume is full when writing a 1MB file, it is useless to test the writing speed of a 2MB file, isn't it?
Prior to writing files, BenchmarkeD will remove the existing unlocked test files from your volume.
Read speed (option 2) reads each of the existing test files by chunks of 64K. In case of I/O error, the process is stopped and the application goes to the next file test.
> Disk tests
Read with 64K buffer (option 3) reads blocks by chunks of 64K (on a ProDOS partition of 512-byte blocks, each pass reads 128 blocks) until the end of the partition is reached.
Read block-by-block (option 4) reads blocks one by one sequentially from the first to the last one of the partition.
> Can I share my results?
Yes, sure, please provide us with detailed information of your Apple IIgs configuration (machine or emulator, ROM version, etc.) either:
- by writing to us at info@brutaldeluxe.fr, or
- by filling a Google spreadsheet at Apple IIgs file and disk benchmarks
The spreadsheet is divided into two sheets: one for file tests, the second for disk tests. Dozens of tests were performed on different machines, at different speeds on various devices and formats (partition, .2mg, .PO)
Feel free to add your own results!
> Current test results (excerpts, ROM 3 running at 2.8 MHz)
Write file average results | ||
Controller | Disk drive | Throughput (KB/s) |
---|---|---|
Apple SCSI High Speed DMA | Apple 250MB SCSI | 38 |
CFFA 3000 v3.1 | .2mg on Sandisk Cruzer 16GB | 22 |
CFFA 3000 v3.1 | .PO on Sandisk Cruzer 16GB | 30 |
CFFA 3000 v3.1 | .2mg on unbranded USB stick | <1 |
CFFA 3000 v3.1 | .PO on unbranded USB stick | <1 |
CFFA 3000 v3.1 | CF partition | 36 |
Read file average results | ||
Controller | Disk drive | Throughput (KB/s) |
Apple SCSI High Speed DMA | Apple 250MB SCSI | 53 |
CFFA 3000 v3.1 | .2mg on Sandisk Cruzer 16GB | 60 |
CFFA 3000 v3.1 | .PO on Sandisk Cruzer 16GB | 62 |
CFFA 3000 v3.1 | .2mg on unbranded USB stick | 61 |
CFFA 3000 v3.1 | .PO on unbranded USB stick | 61 |
CFFA 3000 v3.1 | CF partition | 55 |
Read blocks with 64K buffer average results | ||
Controller | Disk drive | Throughput (KB/s) |
Apple SCSI High Speed DMA | Apple 250MB SCSI | 79 |
CFFA 3000 v3.1 | .2mg on Sandisk Cruzer 16GB | 96 |
CFFA 3000 v3.1 | .PO on Sandisk Cruzer 16GB | 96 |
CFFA 3000 v3.1 | .2mg on unbranded USB stick | 95 |
CFFA 3000 v3.1 | .PO on unbranded USB stick | 95 |
CFFA 3000 v3.1 | CF partition | 96 |
Read block-by-block average results | ||
Controller | Disk drive | Throughput (KB/s) |
Apple SCSI High Speed DMA | Apple 250MB SCSI | 35 |
CFFA 3000 v3.1 | .2mg on Sandisk Cruzer 16GB | 47 |
CFFA 3000 v3.1 | .PO on Sandisk Cruzer 16GB | 47 |
CFFA 3000 v3.1 | .2mg on unbranded USB stick | 42 |
CFFA 3000 v3.1 | .PO on unbranded USB stick | 42 |
CFFA 3000 v3.1 | CF partition | 44 |
> OK... And, so what?
See BenchmarkeD as a useful utility to determine the best USB stick for your CFFA card, or use the fastest device to write data for direct-to-disk sound routines.
From our different tests:
- CFFA 3000 users should upgrade to firmware 3.1: read speed is enhanced!
- CFFA 3000 users should use a powerful USB stick or will suffer from low writing speeds
- Prefer .PO disk images over .2mg, results are better despite a lack of meta-data support
- Emulators do not emulate standard reading and writing speeds but... who cares?
> What else can you say?
BenchmarkeD uses standard GS/OS calls. That means that there are several layers between a call from the application to the data being provided.
Nothing would beat optimized disk calls (eg. Locksmith Fast Disk Backup vs Apple's RWTS) therefore using the GS/OS layer adds a loss of KB/s but offers the advantage of stability, compatibility and easy comparison between devices.
> Are there limits?
Benchmarked requires GS/OS 4.0.2 (System 6.0.1) to operate, it uses toolbox calls from that relase.
The second limit is that disk tests work with ProDOS volumes only, the disk tests check the application is launched from ProDOS.
The third one is that disk tests perform sequential blocks reads only. One useful feature would be to add random blocks read routines.
> Can BenchmarkeD be more precise?
BenchmarkeD works at the second level and does not deal with microseconds. That is because interrupts are stopped on some devices (eg. Apple 3.5") therefore the calculated throughput would not be correct if interrupts were used.
> Is the source code available?
Yes, it is located on the distribution disk at the same level as the application. BenchmarkeD is written in assembly language under Merlin 16+.
> Are there incompatibilities?
One was known at the time of release. When you quit BenchmarkeD and return to the Finder, WinFlate crashes. No digging was done to understand why!
> Greetings
Many thanks go to:
- Dave Lyons
- David Schmidt
- Rich Dreher
Download:
ZIP archive of all formats (V1, 42MB)
Program and source code (V1, 800K)