specialize clean/destroy functions

This commit is contained in:
BlackMATov
2026-01-27 08:06:12 +07:00
parent 39c20f13dd
commit 4a018f4c40
4 changed files with 306 additions and 134 deletions
+56
View File
@@ -0,0 +1,56 @@
local evo = require 'evolved'
local basics = require 'develop.basics'
evo.debug_mode(false)
local N = 1000
print '----------------------------------------'
basics.describe_bench(string.format('Destroy Benchmarks: Acquire and Release %d ids', N),
function(tables)
local id = evo.id
local destroy = evo.destroy
for i = 1, N do
tables[i] = id()
end
for i = 1, N do
destroy(tables[i])
end
end, function()
return {}
end)
basics.describe_bench(string.format('Destroy Benchmarks: Acquire and Release %d double ids', N),
function(tables)
local id = evo.id
local destroy = evo.destroy
for i = 1, N, 2 do
tables[i], tables[i + 1] = id(2)
end
for i = 1, N, 2 do
destroy(tables[i], tables[i + 1])
end
end, function()
return {}
end)
basics.describe_bench(string.format('Destroy Benchmarks: Acquire and Release %d triple ids', N),
function(tables)
local id = evo.id
local destroy = evo.destroy
for i = 1, N, 3 do
tables[i], tables[i + 1], tables[i + 2] = id(3)
end
for i = 1, N, 3 do
destroy(tables[i], tables[i + 1], tables[i + 2])
end
end, function()
return {}
end)
-21
View File
@@ -1,21 +0,0 @@
local evo = require 'evolved'
local basics = require 'develop.basics'
evo.debug_mode(false)
local N = 1000
print '----------------------------------------'
basics.describe_bench(string.format('Id Benchmarks: Acquire and Release %d ids', N),
function(tables)
for i = 1, N do
tables[i] = evo.id()
end
for i = 1, N do
evo.destroy(tables[i])
end
end, function()
return {}
end)