GOS has a disk cache and memory compression feature to speed up the disk load times. GOS version 95.08.13.11:54 had a relatively larger cache size, so I used this version for the benchmark.
The following is a screen dump of a benchmark utility:
total file # : 8 total byte # : 9549 total time : 5 sec. byte / time : 1909.8 bytes/sec.ready. status
current drive # :8 fastid :on fastopen :on cache size :128 blocks fastopen file size :36 files cache hit # :52 cache missed # :78 cache success : %40 cache compress ratio : 1.25490196 free system ram :351 bytes max. free system ram : 440 bytes
And the program is:
5 rem dataflow rate test prg. 10 cls 20 dima%(50),i,j,k,a$:i=.:j=.:k=.:ti$="000000" 21 poke56331,0:poke56330,0:poke56329,0:poke56328,0 30 reada$:ifa$="end"thengoto500 35 print"retrieving "a$;" "; 40 dummy,a%(i),a$,8:printa%(i):j=j+a%(i):i=i+1 50 goto30 99 end:run 100 data"gsb.iterate" 110 data"gsb.numofite" 120 data"gsb.testline" 130 data"gsb.datarate" 140 data"gsb.mandelrnd" 150 data"gsb.dersprog" 160 data"gsb.disker" 170 data"gsb.edit" 180 data end 499 end:run 500 t1=peek(56329) 505 print"total file # :"i 510 print"total byte # :"j 520 print"total time :"t1" sec." 530 print"byte / time :"j/t1" bytes/sec." 600 end:run
Here, the 'dummy' GOS command loads a file and puts its size into the given variable. And the locations 56331-56328 are the TOD clock locations. Clock starts when you poke a value to 56328 (tenth of second).
So, this test shows that the random disk speed is 1909 Bps with a 40% cache hit rate. This figure includes the directory lookup of the files, the random seeks (which are eliminated by 40%) and the decompressions of the blocks. Not bad for a 19 years old cache I think.
İlker Fıçıcılar
31.07.2014
Keywords: GOS, Commodore 64, Operating System, Disk Speed, Benchmark