This is a port of a memory speed benchmark for program I accidently found when looking for the RISC OS port of a text editor called NE on a University of Cambridge ftp server (which I had an hour before that accidently found out about when searching eGroup.com for RISC OS related mailing lists). There's not much to it really and it didn't take all that much work to port it - I just threw it into GCC and there it was!
Download store (source included)
store is supposed to be run on a near-idle system, so it should be invoked from the CLI. It can take either one or two parameters.
store [ nk | nK | nm | nM ] k
The first parameter, which should be set to about half the maximum real memory available to a single process. For very fast systems with a small amount of store, a second parameter can be supplied to increase the loop length. The symptom of an inadequate loop length is that totally ridiculous values are printed for the access rate and bandwidth.
Here are the results from when I ran it on my A3010:
Testing the store performance in up to 2 MB Accesses in millions/sec, bandwidth in MB/sec Accesses Bandwidth Read Write Read Write 1 KB: 0.22 0.23 2.36 2.65 2 KB: 0.32 0.33 2.36 2.65 4 KB: 0.41 0.42 2.36 2.65 8 KB: 0.47 0.49 2.36 2.69 16 KB: 0.51 0.54 2.36 2.65 32 KB: 0.53 0.56 2.38 2.65 64 KB: 0.55 0.58 2.36 2.69 128 KB: 0.55 0.59 2.36 2.69 256 KB: 0.55 0.59 2.36 2.69 512 KB: 0.56 0.59 2.36 2.65 1 MB: 0.56 0.59 2.36 2.69 2 MB: 0.56 0.60 2.36 2.69
Ok, stop that sniggering the back! I'd like it if others sent in the results they got on their machines so as I can post the results up here.
Copyright 1995 N.M. MacLaren
Copyright 1995 The University of Cambridge
This may be used and distributed freely, provided that due acknowledgement is given and that the copyright holders are not held responsible for any errors. Please send comments and corrections to firstname.lastname@example.org.
RISC OS port by Keith Gaughan