Difference between revisions of "Core.enableAllocationTracking"
m (Text replacement - "<source" to "<syntaxhighlight") |
|||
Line 5: | Line 5: | ||
=== Description === | === Description === | ||
Enables objects allocation profiler. | Enables objects allocation profiler. | ||
− | < | + | <syntaxhighlight lang="lua"> |
(table) = Core.enableAllocationTracking(b) | (table) = Core.enableAllocationTracking(b) | ||
</source> | </source> | ||
Line 16: | Line 16: | ||
=== Example === | === Example === | ||
− | < | + | <syntaxhighlight lang="lua"> |
-- start the profiler | -- start the profiler | ||
Core.enableAllocationTracking(true) | Core.enableAllocationTracking(true) |
Revision as of 14:26, 13 July 2023
Available since: Gideros 2023.1
Class: Core
Description
Enables objects allocation profiler. <syntaxhighlight lang="lua"> (table) = Core.enableAllocationTracking(b) </source>
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
<syntaxhighlight lang="lua"> -- 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 </source>