Tiempo de ejecución de JavaScript
Silktide mide cuánto tiempo pasa el navegador ejecutando scripts mientras se carga tu página. Un trabajo intenso de scripts evita que la página responda, así que una página puede parecer cargada y aun así ignorar toques y clics durante segundos.
Por qué importa
Descargar un script es solo el primer coste. El navegador después debe analizarlo y ejecutarlo, y todo eso ocurre en el mismo hilo que gestiona el desplazamiento, la escritura y los toques. Mientras se ejecutan los scripts, la página no atiende a las interacciones: los botones no responden y la página se siente rota aunque parezca terminada.
A diferencia del tiempo de descarga, este coste escala con el procesador del visitante: un script que se ejecuta en medio segundo en el equipo de un desarrollador puede tardar varios segundos en un teléfono económico. Los visitantes con los dispositivos más baratos esperan más.
Cómo solucionarlo
- Sirve menos . Eliminar el código no utilizado es la mejora más directa: consulta JavaScript sin usar.
- Divide los paquetes grandes y carga el código de las funciones situadas por debajo del primer pliegue (below the fold) o activadas por interacción solo cuando sea necesario, para que la carga inicial ejecute únicamente lo que requiere la primera pantalla.
- Audita los scripts de terceros, que a menudo dominan el tiempo de ejecución: consulta Código de terceros. Elimina los que no aporten un valor que justifique su coste.
- Mueve la computación realmente pesada a un Web Worker, que se ejecuta en un hilo separado y mantiene la página con capacidad de respuesta.
Cómo lo prueba Silktide
- Cargamos la página en un navegador real, usando el tipo de dispositivo, la velocidad de conexión y la ubicación de la prueba configurados para tus pruebas de velocidad.
- Medimos el tiempo de procesamiento que consumió cada script durante la carga, dividido entre ejecutar el código (evaluación del script) y prepararlo para ejecutarse (análisis sintáctico).
- Informamos de los scripts que consumieron un tiempo significativo, con un desglose por archivo. Cuando el tiempo total de ejecución es bajo, no se enumeran scripts individuales.
- Se califica la página según el total: menos de 2 segundos es bueno, y alrededor de 3,5 segundos o más se califica como deficiente.
Solución de problemas
Un script de terceros encabeza la lista
Las herramientas de analítica, los gestores de etiquetas, los anuncios y los widgets de chat suelen consumir más tiempo de ejecución que el propio código del sitio. No puedes optimizar su código interno, pero puedes cargarlos más tarde, sustituirlos por alternativas más ligeras o eliminar los que nadie utiliza.
La página parece rápida en mi equipo
El tiempo de ejecución depende del procesador. Los equipos de desarrollo suelen ser varias veces más rápidos que los teléfonos de gama media que usa la mayoría de los visitantes, así que una sobrecarga que a ti te parece imperceptible puede traducirse en segundos para ellos. Las cifras medidas proceden de una prueba controlada, no de tu hardware.