LINUX.ORG.RU

История изменений

Исправление Toxo2, (текущая версия) :

По тупому бенчмарку https://yourcmc.ru/wiki/Langs-performance

А вот кстати. Исходники здесь: https://github.com/vitalif/langs-performance/ там, в коде lua, вот такая штука:

local s = {}
for i = 3, n, 2 do
  s[#s+1] = i
end
если её заменить на вот такую:
local s = {}; local c = 0;
for i = 3, n, 2 do
  c = c + 1
  s[c] = i
end
то сразу time execute уменьшается с 36 до 25 секунд на моей машине. (Под рукой пока только Astra и её lua5.3. Дома проверю ещё на более другой машине)

Это я постеснялся у господина qulinxao3 уточнять про его [#arrSimpleConv+1].

Честно - не знаю, как это # устроено точно. Но полагаю оно тупо каждый раз считает с самого начала. Если таблица будет достаточно большая такое вот #arrSimpleConv в конце концов может стоить времени исполнения всего остального кода. Это ж вроде много в каких языках так.

Исходная версия Toxo2, :

По тупому бенчмарку https://yourcmc.ru/wiki/Langs-performance

А вот кстати. Исходники здесь: https://github.com/vitalif/langs-performance/ там, в коде lua, вот такая штука:

local s = {}
for i = 3, n, 2 do
  s[#s+1] = i
end
если её заменить на вот такую:
local s = {}; local c = 0;
for i = 3, n, 2 do
  c = c + 1
  s[c] = i
end
то сразу time execute уменьшается с 36 до 25 секунд на моей машине.

Это я постеснялся у господина qulinxao3 уточнять про его [#arrSimpleConv+1].

Честно - не знаю, как это # устроено точно. Но полагаю оно тупо каждый раз считает с самого начала. Если таблица будет достаточно большая такое вот #arrSimpleConv в конце концов может стоить времени исполнения всего остального кода. Это ж вроде много в каких языках так.