Я просматриваю код модуля регистрации Python как в Python2 (по умолчанию 2.7.12 в Ubuntu 16.04), так и в Pyton 3.5 (по умолчанию 3.5.2 в Ubuntu 16.04).
Вопрос в том, что если мы посмотрим на реализацию def _log
, которая в конечном итоге вызывает self.handle
, проверка на self.disabled
выполняется на самом деле в методе handle
, но это не делается в_log
метод.
Согласитесь, повторная проверка в self.handle
может иметь смысл, но почему бы не проверить это первым делом в self._log
или даже лучше в self.isEnabledFor
, который позволяет избежать выполнения большой работы, выполняемой в self._log
метод.
Чего мне не хватает?
Обновление : Выполнено ли профилирование при отключенном регистраторе - код в следующем списке .
Следующие списки содержат действительные данные cprofile, указывающие на влияние на производительность, когда регистратор отключен и когда регистратор включен .
Оказывается, при отключении регистратора происходит значительное снижение производительности.
Может быть стоит задуматься?