Я обрабатываю огромное количество комбинаций предметов (из League of Legends), около 72 миллионов, все из которых передаются в функцию, которая вычисляет, насколько они полезны.
Мы пытаемсячтобы найти наилучшую возможную комбинацию.
Не обращая внимания на тот факт, что могут быть более эффективные алгоритмические способы сделать это, кто-нибудь может сказать мне, почему я получаю ошибку памяти?1007 * calcStats ничего не делает, кроме арифметики с использованием локальных переменных.
Это быстро израсходует 2 ГБ + памяти и завершится примерно через 5 минут.Я думал, что itertools должен был обеспечить генератор, который не использовал бы тонну памяти?Я даже добавил это утверждение gc.collect (), но, похоже, оно не работает.Есть идеи?