Цель timeit
состоит в том, чтобы получить пропускную способность функции, которая всегда будет требовать многократного выполнения кода для затухания краевых случаев и получения хорошего среднего значения.
В то время как cProfile
нас другой стороны, используется для профилирования каждого дополнительного вызова стека функции, чтобы демистифицировать всю магию, происходящую внутри функции.
timeit
скажет вам, что для работы требуется некоторая оптимизация, в то время как cProfile
укажет вам правильное направление, сообщив вам, какая незначительная часть стека сокращает ваше время обработки.