summaryrefslogtreecommitdiff
path: root/bench_lmx2487.lua
blob: a95230535731a314fbae656d6e2a2b71f2485376 (plain)
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