fshp, Ваш алгоритм быстрее только на сортированных данных.
Возьмите любой большой текстовый файл в качестве "lst2" (мегабайт на 50) и повторите измерения.
import timeit
from collections import Counter
import string
with open("book.txt", "r") as f_in:
lst1 = list(string.ascii_uppercase)
lst2 = f_in.read().upper()
#lst2 = list(string.ascii_lowercase) * 100000
t = timeit.default_timer()
counter = {i: lst2.count(i) for i in lst1}
for k in lst1:
print(f"{k} : {counter.get(k, 0)}")
print("\nCode execution time: {0:.4} sec.\n".format(timeit.default_timer() - t))
t = timeit.default_timer()
counter = Counter(lst2)
for k in lst1:
print(f"{k} : {counter.get(k, 0)}")
print("\nCode execution time: {0:.4} sec.\n".format(timeit.default_timer() - t))
Denis Shaliuk:
1) Закрыть студию
2) Запустить командную строку под аккаунтом администратора
3) Увеличить размер памяти для приложений командой (без кавычек) "bcdedit /set IncreaseUserVa 3072"
4) Перегрузить комп
Возьмите любой большой текстовый файл в качестве "lst2" (мегабайт на 50) и повторите измерения.