# HG changeset patch # User Waqas Hussain # Date 1245988346 -18000 # Node ID b02b22f77326fbbd892189c3c383ca1ebaa1c886 # Parent f916f0ff90e557e78c44ede17e39c3cfd3b2a577 util.events: Replaced ipairs with slightly faster numeric for loop - #optimization diff -r f916f0ff90e5 -r b02b22f77326 util/events.lua --- a/util/events.lua Thu Jun 25 17:22:53 2009 +0500 +++ b/util/events.lua Fri Jun 26 08:52:26 2009 +0500 @@ -53,8 +53,8 @@ local h = handlers[event]; if not h then h = {}; handlers[event] = h; end local dispatcher = function(...) - for _, handler in ipairs(h) do - local ret = handler(...); + for i=1,#h do + local ret = h[i](...); if ret ~= nil then return ret; end end end; @@ -67,8 +67,8 @@ local function fire_event(event, ...) -- FIXME duplicates dispatcher code local h = handlers[event]; if h then - for _, handler in ipairs(h) do - local ret = handler(...); + for i=1,#h do + local ret = h[i](...); if ret ~= nil then return ret; end end end