[Cheat Engine Lua] Тестирование производительности2
Уже была запись про тестирование производительности.
В этом примере тестируем разное обращение к функции со средним арифметическим значением
Спойлер
ClassA = {}
ClassA.__index = ClassA
function ClassA:New()
local obj = {}
function obj:IsFloat()
return
end
setmetatable(obj, obj)
return obj
end
local someClass = ClassA:New()
function IsFloat()
return
end
function NoOptimizeCode()
someClass:IsFloat()
end
function OptimizeCode()
IsFloat()
end
local max = 20
local count = 0
local maxCountRepeat = 800000
for j=1, max do
local countRepeat = maxCountRepeat-- add more cycle
local x1 = 0
local x2 = 0
x1 = getTickCount()
for i = 1, countRepeat do NoOptimizeCode() end
x2 = getTickCount()
for i = 1, countRepeat do OptimizeCode() end
local v = (x2 - x1)/(getTickCount() - x2)
count = count + v
--print(string.format("%.2f", v))
end
print('avg = '.. count/max)
Результаты при 4-х запусках
avg = 0.93333998758048
avg = 1.0322099291325
avg = 0.92657961891689
avg = 1.1883763135947
Вывод. Разница не существенная.
0 Комментариев
Рекомендуемые комментарии
Комментариев нет
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти