presents estimated time to run before running
This commit is contained in:
+19
-17
@@ -1,34 +1,36 @@
|
||||
local timing = {
|
||||
entries = {}
|
||||
}
|
||||
local timing = {}
|
||||
local entries = {}
|
||||
|
||||
local function to_minutes(t) -- floored to tenths
|
||||
return math.floor( t / 60 * 10 ) / 10
|
||||
function timing.seconds_to_minutes(seconds) -- floored to tenths
|
||||
return math.floor( seconds / 60 * 10 ) / 10
|
||||
end
|
||||
|
||||
function timing:start()
|
||||
-- if not self then self = {} end
|
||||
self.entries[#self.entries + 1] = { start_time = os.time() }
|
||||
function timing.start()
|
||||
entries[#entries + 1] = { start_time = os.time() }
|
||||
end
|
||||
|
||||
function timing:stop()
|
||||
local entry = self.entries[#self.entries]
|
||||
function timing.stop()
|
||||
local entry = entries[#entries]
|
||||
entry.stop_time = os.time()
|
||||
entry.delta = entry.stop_time - entry.start_time
|
||||
|
||||
return to_minutes(entry.stop_time - entry.start_time) -- return delta
|
||||
return timing.seconds_to_minutes(entry.delta)
|
||||
end
|
||||
|
||||
function timing:print_report()
|
||||
function timing.print_report()
|
||||
local minimum, maximum, sum = math.huge, -math.huge, 0
|
||||
for _, data in pairs(self.entries) do
|
||||
local delta = data.stop_time - data.start_time
|
||||
for _, data in pairs(entries) do
|
||||
local delta = data.delta
|
||||
if delta > maximum then maximum = delta end
|
||||
if delta < minimum then minimum = delta end
|
||||
sum = sum + delta
|
||||
end
|
||||
print("Total: " .. to_minutes(sum) .. " minutes.")
|
||||
print("Averge: " .. to_minutes(sum / #self.entries) .. " minutes. Fastest: "
|
||||
.. to_minutes(minimum) .. " minutes. Slowest: " .. to_minutes(maximum) .. " minutes.")
|
||||
|
||||
print("Total: " .. timing.seconds_to_minutes(sum) .. " minutes.")
|
||||
print("Averge: " .. timing.seconds_to_minutes(sum / #entries)
|
||||
.. " minutes. Fastest: " .. timing.seconds_to_minutes(minimum)
|
||||
.. " minutes. Slowest: " .. timing.seconds_to_minutes(maximum)
|
||||
.. " minutes.")
|
||||
end
|
||||
|
||||
return timing
|
||||
|
||||
Reference in New Issue
Block a user