dict vs lists
2010-08-24 14:08Стало интересно, в какой момент имеет переходить с простых списков на dict.
Проверил.
Из за того, что timer:tc точнее 1 микросекунды не считает, пришлось
для каждого варианта считать время выполнения 100 одинаковых операций.
Каждая такая итерация делалась 100000 раз и бралось среднее.
dict:find: при любом размере время выполнения 50-70 микросекунд
(напоминаю, это на 100 подряд вызовах, т.е. один вызов – где-то 0,5 -
0,7).
lists:keyfind:
номер элемента – время (здесь тоже помним про 100 вызовов).
1 – 4
10 – 8
20 – 12
30 – 15
100 – 46
150 – 67
200 – 87
300 – 130
Вобщем, где-то начиная с 300 элементов в списке имеет смысл переходить
на dict (если, конечно, нам не нужен постоянно последний элемент).
Originally published at U.F.M's Homepage. Please leave any comments there.