2023-12-05 04:48:31 +08:00
|
|
|
local function prequire(name) local success, result = pcall(require, name); return if success then result else nil end
|
|
|
|
local bench = script and require(script.Parent.bench_support) or prequire("bench_support") or require("../bench_support")
|
2021-10-30 04:25:12 +08:00
|
|
|
|
|
|
|
function test()
|
|
|
|
|
|
|
|
local Number = {}
|
|
|
|
Number.__index = Number
|
|
|
|
|
|
|
|
function Number.new(v)
|
|
|
|
local self = {
|
|
|
|
value = v
|
|
|
|
}
|
|
|
|
setmetatable(self, Number)
|
|
|
|
return self
|
|
|
|
end
|
|
|
|
|
|
|
|
function Number:Get()
|
|
|
|
return self.value
|
|
|
|
end
|
|
|
|
|
|
|
|
local n = Number.new(42)
|
|
|
|
|
|
|
|
local ts0 = os.clock()
|
|
|
|
for i=1,1000000 do
|
|
|
|
local nv = n:Get()
|
|
|
|
end
|
|
|
|
local ts1 = os.clock()
|
|
|
|
|
|
|
|
return ts1-ts0
|
|
|
|
end
|
|
|
|
|
|
|
|
bench.runCode(test, "OOP: method call")
|