Core.profilerStart

From GiderosMobile
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Available since: Gideros 2017.8
Class: Core

Description

Start recording of time spent in each lua function.

Core.profilerStart()

Example

max = 10000
calls = 10
a = -458

local abs=math.abs

function test1()
	for loop=1,max do
		local sign=math.abs(a)/a
	end
end

function test2()
	for loop=1,max do
		local sign=1
		if a<0 then sign=-1 end
	end
end

function test3()
	for loop=1,max do
		local sign=a < 0 and -1 or 1
	end
end

Core.profilerReset()
Core.profilerStart()
for loop = 1, calls do
	test1()
	test2()
	test3()
end
Core.profilerStop()

-- print the results of the profiler
result = Core.profilerReport()
print("Number of tests:", max*calls)
for k,v in pairs(result) do
	local found=false
	for k2,v2 in pairs(v) do
		if found and k2=="time" then print(v1,v2) end
		if k2=="name" and string.sub(v2,1,4)=="test" then v1=v2 found=true end
	end
end