Re: Run benchmarks and share your results
Posted: Wed Feb 24, 2021 9:56 pm
Wow, that is a lot. I get some 350-400 on the machines I have here 

RIP Sir Clive Sinclair 1940 - 2021
https://theqlforum.com/
OK, on the docking station with 512x256 QL colour it's 1598 nowmk79 wrote:Wow, that is a lot. I get some 350-400 on the machines I have here
That's a rather old PC then or running at an energy option which favours battery life very much.mk79 wrote:Wow, that is a lot. I get some 350-400 on the machines I have here
When results vary, especially when no other jobs performing work/load under QDOS/SMS, chances are high that Windows energy features and clock rate throttling is the reason.pjw wrote:Both tests run using QPC2 4.95 straight from the qle folder and minimal boot:
1668 on i5 desktop (with all my normal stuff running)
1392 on i5 laptop. But scores vary widely on each run (980-1390).
Gold medal!M68008 wrote:3029
QTop-Index was written way back in 1988 and last amended in 1995. At that time QXL cards and ATARI TTs were the fastest QLs around.M68008 wrote: Perhaps the benchmark should run for a longer time for better accuracy? The INTMATH test only run for 3 ms?
Code: Select all
888 REMark BLOCKS to evaluate iterations
889 ticktimer%=0
890 SetStart
900 BEEP 0,16,34,2000,5,7
910 PRINT#cCh_UI_stdinp%\\" random calculated BLOCKs" : REMark v107 Use "BLOCKs" instead of "BLOCK's"
920 FOR i=1 TO 1000
930 xpos%=RND(281)
940 ypos%=RND(23)
950 xdim%=RND(1 TO 25)
960 ydim%=RND(1 TO (24-ypos%))
970 colour%=RND(255)
980 BLOCK#cCh_UI_info%,xdim%,ydim%,xpos%,ypos%,colour%
990 CURSOR#cCh_UI_stdinp%,6,70 : PRINT#cCh_UI_stdinp%,i
1000 END FOR i
1010 blockspeed=fGetDuration
1011 CURSOR#cCh_UI_stdinp%,180,70 : PRINT#cCh_UI_stdinp%," in "&blockspeed&" seconds" : REMark v107 Adjusted CURSOR
1020 BEEP
1030 IF fCheckKeysForEvent%=-1 : RETurn
1040 :
1041 SELect ON blockspeed
1042 =0 : iterations%=100 : ticktimer%=1
1043 =1 : iterations%=50
1044 =2 : iterations%=30
1045 =3 : iterations%=20
1046 =REMAINDER : iterations%=10
1047 END SELect
Code: Select all
2297 DEFine PROCedure WaitForNextFullSecond
2298 LOCal d,loop%
2299 d=DATE
2300 REPeat loop%
2301 IF d<DATE : EXIT loop%
2302 END REPeat loop%
2303 END DEFine
2304 :
2305 DEFine FuNction fGetTicksPerSecond
2306 LOCal d,loop%,ticks
2307 WaitForNextFullSecond
2308 d=DATE : ticks=0
2309 REPeat loop%
2310 IF d<DATE : EXIT loop%
2311 ticks=ticks+1
2312 END REPeat loop%
2313 RETurn ticks
2314 END DEFine
2315 :
2316 DEFine FuNction fGetTicksRemaining(inp_par)
2317 LOCal loop%,ticks
2318 ticks=0
2319 REPeat loop%
2320 IF inp_par<DATE : EXIT loop%
2321 ticks=ticks+1
2322 END REPeat loop%
2323 RETurn ticks
2324 END DEFine
2325 :
2326 DEFine PROCedure SetStart
2327 WaitForNextFullSecond
2328 g_start=DATE
2329 END DEFine
2330 :
2331 DEFine FuNction fGetDuration
2332 LOCal d,ticks_remaining,ticks_per_second
2333 d=DATE : REMark PRINT#cCh_UI_stdout%,"ticktimer% ",ticktimer%
2334 IF ticktimer%=0 : RETurn d-g_start
2335 ticks_remaining=fGetTicksRemaining(d) : REMark PRINT#cCh_UI_stdout%,"ticks_remain. ",ticks_remaining
2336 ticks_per_second=fGetTicksPerSecond : REMark PRINT#cCh_UI_stdout%,"ticks_per_sec. ",ticks_per_second : REMark PAUSE#cCh_UI_stdinp%
2337 RETurn d+1-g_start-ticks_remaining/ticks_per_second
2338 END DEFine
See, it was your energy options (lower performance when on battery).mk79 wrote:OK, on the docking station with 512x256 QL colour it's 1598 nowmk79 wrote:Wow, that is a lot. I get some 350-400 on the machines I have here
Without assembler, just BASIC (interpreted or compiler) I see at least two ways:mk79 wrote:But as Daniele says, the speed is basically too fast to get meaningful results anyway. Not sure how you can measure <20ms execution speeds accurately on a standard system.