logger.disabled проверяется намного позже в модуле регистрации Python.Каково обоснование? - PullRequest
0 голосов
/ 21 мая 2018

Я просматриваю код модуля регистрации 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, указывающие на влияние на производительность, когда регистратор отключен и когда регистратор включен .

Оказывается, при отключении регистратора происходит значительное снижение производительности.

Может быть стоит задуматься?

1 Ответ

0 голосов
/ 02 июня 2018

Это действительно была проблема, и теперь она исправлена ​​-

https://github.com/python/cpython/commit/6e3ca645e71dd021fead5a70dc06d9b663612e3a

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...