На самом деле console.logэто намного медленнее, чем пустая функция. Выполнение этого теста jsPerf на моем Chrome 38 дает потрясающие результаты:
- когда консоль браузера закрыта, вызов
console.logпроисходит примерно в 10 000 раз медленнее, чем вызов пустой функции,
- а когда консоль открыта, вызов происходит в 100 000 раз медленнее .
Не то, чтобы вы заметили отставание в производительности, если у вас есть разумное количество console.…вызовов, запускаемых один раз (сотня займет 2 мс при моей установке Chrome - или 20 мс, когда консоль открыта). Но если вы многократно записываете данные в консоль - например, подключаете их к сети requestAnimationFrame- это может сделать работу некорректной.
Обновить:
В этом тесте я также проверил идею настраиваемого «скрытого журнала» для производства - наличие переменной, которая содержит сообщения журнала, доступные по запросу. Оказывается
- примерно в 1000 раз быстрее родной
console.log,
- и, очевидно, в 10 000 раз быстрее, если у пользователя открыта консоль.