Это хорошая идея иметь важную информацию во время разработки, такой как нотация Ландау, чтобы знать временные затраты функций. Значит, это должно быть задокументировано в источниках, не так ли?
Я ищу инструменты, которые могут вычислить это.
Это хорошая идея иметь важную информацию во время разработки, такой как нотация Ландау, чтобы знать временные затраты функций. Значит, это должно быть задокументировано в источниках, не так ли?
Я ищу инструменты, которые могут вычислить это.
В общем случае асимптотическая сложность произвольного алгоритма неразрешима по теореме Райса.
Но на практике вы часто можете сделать хорошее предположение, многократно запуская алгоритм на различных входных данных (с размерами, охватывающими несколько порядков), записывая фактическое время процессора и подгоняя кривую. (Вы должны отбрасывать точки данных с очень коротким временем выполнения, так как в них будет преобладать шум. Кроме того, в средах выполнения JIT, таких как виртуальная машина Java, обязательно запустите функцию на некоторое время перед запуском времени, чтобы убедиться, что виртуальная машина согрелся.)