Должен ли я использовать ipairs или цикл for

Я читал, что использование ipairs медленнее по сравнению с циклом for, следует ли мне изменить привычку к программированию? Я буду использовать lua 5.2 один день, в настоящее время 5.1.

Мои массивы составляют не более 1000 наименований.

local mytbl = { 'a','b','c','e'}
for i,v in ipairs(mytbl) do
  print(i,v)
end

for i=1,#mytbl do
  print(i,mytbl[i])
end

Ответы

Ответ 1

http://springrts.com/wiki/Lua_Performance#TEST_9:_for-loops

pairs: 3.078 (217%)
ipairs: 3.344 (236%)
for i=1,x do: 1.422 (100%)
for i=1,#atable do 1.422 (100%)
for i=1,atable_length do: 1.562 (110%)

Обратите внимание, однако, что использование числового цикла for работает только в том случае, если вы повторяете таблицы с последовательными числовыми индексами - если вы используете хеш-ключи для своих таблиц или разреженные таблицы, тогда вам нужно будет используйте некоторую форму pairs().