En realidad, console.loges mucho más lento que una función vacía. Ejecutar esta prueba jsPerf en mi Chrome 38 da resultados asombrosos:
- cuando la consola del navegador está cerrada, llamar
console.loges aproximadamente 10000 veces más lento que llamar a una función vacía,
- y cuando la consola está abierta, llamarla es hasta 100 000 veces más lento .
No es que note el retraso en el rendimiento si tiene una cantidad razonable de console.…llamadas que se disparan una vez (cien tomarán 2 ms en mi instalación de Chrome, o 20 ms cuando la consola está abierta). Pero si registra cosas en la consola repetidamente, por ejemplo, conectándolo, requestAnimationFramepuede hacer que las cosas se vuelvan loca.
Actualizar:
En esta prueba también he comprobado la idea de un "registro oculto" personalizado para la producción, que tiene una variable que contiene mensajes de registro, disponible a pedido. Resulta ser
- aproximadamente 1000 veces más rápido que el nativo
console.log,
- y obviamente 10 000 veces más rápido si el usuario tiene su consola abierta.