Estoy tratando de mejorar la velocidad de carga de la página frontend para los usuarios, y estoy descubriendo que jQuery está desacelerando el evento DomContentLoaded en más de 100ms.¿jQuery ralentiza la representación de páginas web en 100 ms o más?
Estoy haciendo una evaluación comparativa en Windows 7 con Chrome 17 usando una computadora con una unidad i5 2.5Ghz, SSD, y 8GB de RAM. La prueba se ejecuta en mi computadora local. Me preocupa que la velocidad lenta que veo en mi máquina sea aún más lenta en computadoras y navegadores más antiguos.
¿Es esta la penalidad estándar para usar jQuery, o hay una forma de acelerar el rendimiento que me falta?
Aquí está el código que estoy usando:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
console.time("DOMContentLoaded");
</script>
</head>
<body>
<h1>Hello World</h1>
<script type="text/javascript" src="/js/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", ready, false);
function ready() {
console.timeEnd("DOMContentLoaded");
}
</script>
</body>
</html>
En la consola, el tiempo que veo es aproximadamente ~ 100 ms.
Cuando elimino la línea que carga jQuery, el tiempo es aproximadamente ~ 1ms.
También probé el código anterior utilizando el CDN de Google:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
El resultado es básicamente el mismo.
¿Siempre hay una multa de 100ms por utilizar jQuery? ¿Hay algo que me falta? ¡Gracias!
Trate de poner el código dentro del DOM listo con jQuery: '$ (listo);' – gdoron
Hola gdoron - este retraso de 100ms parece ser suficiente simplemente cargando jQuery, sin ejecutar realmente otro javascript. Parece que solo ayudaría con javascript adicional. – Chris
Este artículo reciente puede ser relevante para sus intereses: "[Deje de pagar el impuesto jQuery] (http://samsaffron.com/archive/2012/02/17/stop-paying-your-jquery-tax)" por @ [ Sam Saffron] (http://stackoverflow.com/users/17174/sam-saffron) – Piskvor