1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
function bench(f, Nrepition, label)
local tSt=tmr.now()
for i = 1, Nrepition do
f()
end
local tEnd=tmr.now()
local tExec = (tEnd-tSt)/Nrepition
print(string.format("%8.1f uS",tExec) .. "\t" .. label)
return tExec
end
print("===== Execution time benchmark ======")
bench(function() end, 1000, "empty function")
bench(function() local t={}; t[2]=2 end, 10 , "empty table creation")
bench(function() local t={1}; t[2]=2 end, 10 , "table expand by 1 element")
bench(function() local t={1}; t[2]=2; t[3]=3 end, 10 , "table expand by 2 element")
bench(function() bit.rshift(4000000,1) end, 10 , "bit.rshift(4000000,1)")
bench(function() local tB=toBits(4000000) end, 10 , "toBits(4000000)")
tB=toBits(4000000)
bench(function() local d=toNum(tB) end, 10 , "toNum")
tB=nil
bench(function() freq2regestersValues(6.834e9) end, 10 , "freq2regestersValues")
sinit= initSettings()
bench(function() local sTmp=copySettings(sinit) end, 10 , "copySettings")
sinit=nil
tB=toBits(4000000)
bench(function() pad2NumBitsInPlace(tB,22) end, 10 , "pad2NumBitsInPlace")
tB=nil
tB=toBits(4000000)
tB=pad2NumBitsInPlace(tB,22)
bench(function() local tTmp=bitSlice(tB,13,22) end, 10 , "bitSlice")
tB=nil
-- main time hog
sinit= initSettings()
bench(function() snew = FreqToSettings(6.834e9, sinit) end, 1, "FreqToSettings")
sinit=nil
|