Difference between revisions of "Core.profilerReset"

From GiderosMobile
m (Text replacement - "</source>" to "</syntaxhighlight>")
 
(One intermediate revision by the same user not shown)
Line 4: Line 4:
 
=== Description ===
 
=== Description ===
 
Drop currently recorded data and reset profiler for a clean subsequent start.
 
Drop currently recorded data and reset profiler for a clean subsequent start.
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
Core.profilerReset()
 
Core.profilerReset()
</source>
+
</syntaxhighlight>
  
 
=== Example ===
 
=== Example ===
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
max = 10000
 
max = 10000
 
calls = 10
 
calls = 10
Line 54: Line 54:
 
end
 
end
 
end
 
end
</source>
+
</syntaxhighlight>
  
 
{{Core}}
 
{{Core}}

Latest revision as of 14:27, 13 July 2023

Available since: Gideros 2017.8
Class: Core

Description

Drop currently recorded data and reset profiler for a clean subsequent start.

Core.profilerReset()

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