dict vs lists

Стало интересно, в какой момент имеет переходить с простых списков на 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 (если, конечно, нам не нужен постоянно последний элемент).

Leave a Reply