@pcdesign

Как ускорить этот код с генерацией пазла?

https://pastebin.com/ughDyL3w

Где-то 2 секунды уходит на генерацию.
  • Вопрос задан
  • 169 просмотров
Решения вопроса 1
adugin
@adugin Куратор тега Python
Профилировщик Вам в руки. Например:
python -m cProfile -s time z:\test.py > z:\profile.txt

Вот топ самых медленных мест:
ncalls  tottime  percall  cumtime  percall filename:lineno(function)
     3188    0.609    0.000    1.730    0.001 test.py:71(suggest_coord)
    39844    0.422    0.000    0.902    0.000 test.py:164(check_fit_score)
   128340    0.223    0.000    0.223    0.000 test.py:254(get_cell)
    67237    0.223    0.000    0.338    0.000 test.py:257(check_if_cell_clear)
     3188    0.130    0.000    1.063    0.000 test.py:108(sort_coordlist)
    64378    0.094    0.000    0.094    0.000 {method 'append' of 'list' objects}
34372/34369    0.052    0.000    0.052    0.000 {built-in method builtins.len}
      108    0.034    0.000    0.062    0.001 test.py:23(clear_grid)
     3188    0.032    0.000    1.827    0.001 test.py:123(fit_and_add)
     3297    0.027    0.000    0.058    0.000 random.py:260(shuffle)
     3299    0.023    0.000    0.035    0.000 {method 'sort' of 'list' objects}
     2160    0.022    0.000    0.056    0.000 test.py:336(__init__)
     1193    0.020    0.000    0.035    0.000 test.py:236(set_word)

Начинайте оптимизировать с самой верхней строки.

P.S. А вообще это кривой говнокод. Надо переписать заново с нуля.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы