Difference between revisions of "Core.enableAllocationTracking"
From GiderosMobile
m (Text replacement - "<source" to "<syntaxhighlight") |
m (Text replacement - "</source>" to "</syntaxhighlight>") |
||
Line 7: | Line 7: | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
(table) = Core.enableAllocationTracking(b) | (table) = Core.enableAllocationTracking(b) | ||
− | </ | + | </syntaxhighlight> |
=== Parameters === | === Parameters === | ||
Line 32: | Line 32: | ||
for _,k in ipairs(sort) do print(counts[k],k) end | for _,k in ipairs(sort) do print(counts[k],k) end | ||
end | end | ||
− | </ | + | </syntaxhighlight> |
{{Core}} | {{Core}} |
Latest revision as of 14:27, 13 July 2023
Available since: Gideros 2023.1
Class: Core
Description
Enables objects allocation profiler.
(table) = Core.enableAllocationTracking(b)
Parameters
b: (boolean) true to start the profiler, false to stop the profiler and create the table
Return values
Returns (table) table with data
Example
-- start the profiler
Core.enableAllocationTracking(true)
-- do stuff...
-- end the profiler and create table
local t=Core.enableAllocationTracking(false)
if t then
local counts={}
for k,v in pairs(t) do counts[v]=(counts[v] or 0)+1 end
local sort={}
for k,_ in pairs(counts) do table.insert(sort,k) end
table.sort(sort,function(a,b) return counts[a]>counts[b] end)
for _,k in ipairs(sort) do print(counts[k],k) end
end