Я пишу веб-приложение (http://www.checkio.org/), которое позволяет пользователям писать код Python. В качестве одной из метрик обратной связи я хотел бы включить профилирование при выполнении проверок для этого кода. Это позволяетпользователи получают очень грубое представление об относительной эффективности различных решений.
Мне нужно, чтобы профиль был (разумно) детерминированным. Я не хочу, чтобы другая нагрузка на веб-сервер приводила к плохому показателю эффективности.Кроме того, я обеспокоен тем, что некоторые профилировщики не дадут хорошего измерения, потому что эти короткие сценарии выполняются очень быстро. Модуль timeit показывает функцию, запускаемую тысячи раз, но я бы хотел не тратить ресурсы сервера на эти небольшие функции.если возможно.
Непонятно, какой (если таковой имеется) стандартный профилировщик удовлетворяет этой потребности. В идеале профилировщик должен выдавать единицы «тиков байт-кода интерпретатора», которые будут увеличивать по одному на инструкцию байт-кода.1007 * очень грубая мера, но отвечает требованиям детерминизма и высокой точности.
Какую систему профилирования мне использовать?