| |
|
|
p.specht
| declared-functions QueryPerformanceCounter() uses 64-bit-unsigned Integers. In XProfan11 gab´s The not yet. Nachstehende Bastelei ought to there remedy - the KANN klappen or Garbage his, no idea! without each Gewähr:
Windowtitle "CPU performance Counters z.B. for Benchmark Tests read (ex Profan 9 XP)"
Declare Frequenz&[1],Start&[1],Ende&[1],Test&[1]
Declare frequency!,Start!,end!,Test!,sec!,Durchläufe&
Def QueryPerformanceFrequency(1), !"Kernel32", "QueryPerformanceFrequency"
Def QueryPerformanceCounter(1) !"Kernel32", "QueryPerformanceCounter"
QueryPerformanceFrequency(Addr(Frequenz&[0]))
CLS:Font 2:Sleep 500
Frequenz! = if(Frequenz&[1]<0,Frequenz&[1]+2^32,Frequenz&[1])*2^32 + \
if(Frequenz&[0]<0,Frequenz&[0]+2^32,Frequenz&[0])
print "\n\n CPU-frequency: ";Frequenz!*10^-6;" [GHz]"
print "\n-----------------------------------------------------------"
Durchläufe&=2*10^6
print "\n Test launched for ";stature$("###,###,###,###",Durchläufe&);" Durchläufe..."
'-------------------------------------------------------------------
QueryPerformanceCounter(Addr(Start&[0]))
WhileLoop Durchläufe&
'
' HIER KOMMT THE ZU BENCHMARKENDE PROGRAMMTEIL REIN!!!
'
EndWhile
QueryPerformanceCounter(Addr(Ende&[0]))
'-------------------------------------------------------------------
Ende! = if(Ende&[1]<0,Ende&[1]+2^32,Ende&[1])*2^32+if(Ende&[0]<0,Ende&[0]+2^32,Ende&[0])
Start! = if(Start&[1]<0,Start&[1]+2^32,Start&[1])*2^32+if(Start&[0]<0,Start&[0]+2^32,Start&[0])
print "\n-----------------------------------------------------------"
beep:print " Test exits."
Test!=end!-Start!:sec! = Test!/frequency!
Print "\n\n Gesamtdauer: ";stature$("%g",sec!);" Sekunden"
Print "\n duration apiece Durchlauf: ";stature$("%g",10^6*sec!/Durchläufe&);" Mikrosekunden"
Print "\n the corresponds to round ";stature$("###,###,##0",Durchläufe&/sec!);" Durchläufen per second."
print "\n-----------------------------------------------------------"
Print "\n\n terminate with Tastendruck!"
WaitInput 1000*60*5
End
|
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 05/11/21 ▲ |
|
|
|