История изменений
Исправление
Jopich1,
(текущая версия)
:
нет просто lua5.3 из консоли ( ну или через lua-nginx). Натравливаешь достаточно большую простыню текста и сравниваешь по времени:
function test(data)
local ndata = {}
for row in data:gmatch("[^\r\n]+") do
table.insert(ndata, row)
table.insert(ndata,"\n")
end
return table.concat(ndata)
end
function test(data)
local ndata = ""
for row in data:gmatch("[^\r\n]+") do
ndata = ndata .. row .. "\n"
end
return ndata
end
Какая тебе разница какая там скорость?
Я тоже думал «какая» пока nginx ( с emebd lua ) не уперся в потолок по процессору. Уже и на регэкспы грешил - а оказалось все проще - просто склеивание строк жутко медленно работает.
Исходная версия
Jopich1,
:
нет просто lua5.3 из консоли ( ну или через lua-nginx). Натравливаешь достаточно большую простыню текста и сравниваешь по времени:
function test(data)
local ndata = {}
for row in data:gmatch("[^\r\n]+") do
table.insert(ndata, row)
table.insert(ndata,"\n")
end
return table.concat(ndata)
end
function test(data)
local ndata = ""
for row in data:gmatch("[^\r\n]+") do
ndata = ndata .. row .. "\n"
end
return ndata
end