Performance optimisations:
In-line expressions are faster than function calls
This commit is contained in:
parent
023b4ddf64
commit
8dbf29e86e
4 changed files with 13 additions and 13 deletions
|
@ -190,7 +190,7 @@ function source.rewind(src)
|
||||||
if not chunk then return src()
|
if not chunk then return src()
|
||||||
else return chunk end
|
else return chunk end
|
||||||
else
|
else
|
||||||
table.insert(t, chunk)
|
t[#t+1] = chunk
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -277,7 +277,7 @@ end
|
||||||
function sink.table(t)
|
function sink.table(t)
|
||||||
t = t or {}
|
t = t or {}
|
||||||
local f = function(chunk, err)
|
local f = function(chunk, err)
|
||||||
if chunk then table.insert(t, chunk) end
|
if chunk then t[#t+1] = chunk end
|
||||||
return 1
|
return 1
|
||||||
end
|
end
|
||||||
return f, t
|
return f, t
|
||||||
|
|
|
@ -249,9 +249,9 @@ function split(str, pat, max, regex)
|
||||||
local s, e = str:find(pat, c, not regex)
|
local s, e = str:find(pat, c, not regex)
|
||||||
max = max - 1
|
max = max - 1
|
||||||
if s and max < 0 then
|
if s and max < 0 then
|
||||||
table.insert(t, str:sub(c))
|
t[#t+1] = str:sub(c)
|
||||||
else
|
else
|
||||||
table.insert(t, str:sub(c, s and s - 1))
|
t[#t+1] = str:sub(c, s and s - 1)
|
||||||
end
|
end
|
||||||
c = e and e + 1 or #str + 1
|
c = e and e + 1 or #str + 1
|
||||||
until not s or max < 0
|
until not s or max < 0
|
||||||
|
@ -334,7 +334,7 @@ function combine(...)
|
||||||
local result = {}
|
local result = {}
|
||||||
for i, a in ipairs(arg) do
|
for i, a in ipairs(arg) do
|
||||||
for j, v in ipairs(a) do
|
for j, v in ipairs(a) do
|
||||||
table.insert(result, v)
|
result[#result+1] = v
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return result
|
return result
|
||||||
|
@ -371,7 +371,7 @@ function keys(t)
|
||||||
local keys = { }
|
local keys = { }
|
||||||
if t then
|
if t then
|
||||||
for k, _ in kspairs(t) do
|
for k, _ in kspairs(t) do
|
||||||
table.insert( keys, k )
|
keys[#keys+1] = k
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return keys
|
return keys
|
||||||
|
@ -568,7 +568,7 @@ function _sortiter( t, f )
|
||||||
local keys = { }
|
local keys = { }
|
||||||
|
|
||||||
for k, v in pairs(t) do
|
for k, v in pairs(t) do
|
||||||
table.insert( keys, k )
|
keys[#keys+1] = k
|
||||||
end
|
end
|
||||||
|
|
||||||
local _pos = 0
|
local _pos = 0
|
||||||
|
@ -657,7 +657,7 @@ function execl(command)
|
||||||
while true do
|
while true do
|
||||||
line = pp:read()
|
line = pp:read()
|
||||||
if (line == nil) then break end
|
if (line == nil) then break end
|
||||||
table.insert(data, line)
|
data[#data+1] = line
|
||||||
end
|
end
|
||||||
pp:close()
|
pp:close()
|
||||||
|
|
||||||
|
|
|
@ -88,7 +88,7 @@ function Cursor.delete_all(self, config, stype, comparator)
|
||||||
local function helper (section)
|
local function helper (section)
|
||||||
|
|
||||||
if not comparator or comparator(section) then
|
if not comparator or comparator(section) then
|
||||||
table.insert(del, section[".name"])
|
del[#del+1] = section[".name"]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -201,14 +201,14 @@ function Cursor._affected(self, configlist)
|
||||||
function(section)
|
function(section)
|
||||||
if section.affects then
|
if section.affects then
|
||||||
for i, aff in ipairs(section.affects) do
|
for i, aff in ipairs(section.affects) do
|
||||||
table.insert(deps, aff)
|
deps[#deps+1] = aff
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
for i, dep in ipairs(deps) do
|
for i, dep in ipairs(deps) do
|
||||||
for j, add in ipairs(_resolve_deps(dep)) do
|
for j, add in ipairs(_resolve_deps(dep)) do
|
||||||
table.insert(reload, add)
|
reload[#reload+1] = add
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -219,7 +219,7 @@ function Cursor._affected(self, configlist)
|
||||||
for j, config in ipairs(configlist) do
|
for j, config in ipairs(configlist) do
|
||||||
for i, e in ipairs(_resolve_deps(config)) do
|
for i, e in ipairs(_resolve_deps(config)) do
|
||||||
if not util.contains(reloadlist, e) then
|
if not util.contains(reloadlist, e) then
|
||||||
table.insert(reloadlist, e)
|
reloadlist[#reloadlist+1] = e
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -63,7 +63,7 @@ function compile(template)
|
||||||
|
|
||||||
-- Search all <% %> expressions
|
-- Search all <% %> expressions
|
||||||
local function expr_add(ws1, skip1, command, skip2, ws2)
|
local function expr_add(ws1, skip1, command, skip2, ws2)
|
||||||
table.insert(expr, command)
|
expr[#expr+1] = command
|
||||||
return ( #skip1 > 0 and "" or ws1 ) ..
|
return ( #skip1 > 0 and "" or ws1 ) ..
|
||||||
"<%" .. tostring(#expr) .. "%>" ..
|
"<%" .. tostring(#expr) .. "%>" ..
|
||||||
( #skip2 > 0 and "" or ws2 )
|
( #skip2 > 0 and "" or ws2 )
|
||||||
|
|
Loading…
Reference in a new issue