Google presume un aumento de velocidad del 23% en Chrome tras la optimización de código
Google dio a conocer hace pocos dias (después de la liberación de la última versión de Chrome) información técnica sobre dos nuevas tecnologías de optimización de código incluidas, que prometen mejorar los tiempos de carga de las páginas web hasta en un 23% en algunos casos.
La compañía detalló las dos tecnologías, llamadas Sparkplug y «llamadas incorporadas breves». Ambos se implementan como parte del motor V8 que Chrome usa para cargar el código JavaScript de las páginas web. Las páginas web utilizan JavaScript para activar funciones clave como botones y menús, lo que significa que aumentar la velocidad a la que se ejecuta el código escrito en el idioma puede proporcionar una mejora significativa del rendimiento general.
Se menciona que el motor V8:
«ejecuta más de 78 años de código JavaScript a diario… Chrome es ahora hasta un 23% más rápido con el lanzamiento de un nuevo compilador Sparkplug y breves llamadas integradas, lo que ahorra más de 17 años de tiempo de CPU de nuestros usuarios cada día». escribió el gerente de producto de Chrome, Thomas Nattestad, en una publicación de blog.
El código escrito en lenguajes de programación como JavaScript no se puede ejecutar directamente en la unidad central de procesamiento de una computadora, sino que primero debe convertirse en el llamado código de bajo nivel (código de máquina).
Esta es una tarea que los ingenieros de Google han acelerado con Sparkplug, la primera de las dos tecnologías recientemente detalladas. Es un compilador que transforma el código JavaScript de una página web en código de máquina y en el proceso, realiza optimizaciones para ayudar a la computadora del usuario a cargar la página web más rápido.
Y es que aun que Chrome ya tiene un compilador que optimiza el código para mejorar el rendimiento, ese compilador existente tarda un tiempo en entrar en acción después de que un usuario abre una página web, lo que significa que hay una ventana de tiempo en la que el contenido web se ha cargado pero aún no se está ejecutando tan lejos como debería. Sparkplug proporciona un aumento de velocidad en esa ventana de tiempo para que los usuarios puedan experimentar una navegación más rápida incluso antes de que Chrome complete todas sus optimizaciones.
La razón por la que Sparkplug puede comenzar a aumentar el rendimiento del código antes de que se active el compilador de optimización existente de Chrome es que es más rápido. Esa ventaja de velocidad, a su vez, es el resultado de dos métodos de software específicos implementados por los ingenieros de Google.
Primero, Sparkplug aprovecha el hecho de que Chrome convierte el código JavaScript de todas las páginas web en un formulario intermedio llamado bytecode para facilitar el procesamiento. Sparkplug realiza sus optimizaciones en el código de bytes en lugar del código JavaScript original, que por varias razones técnicas es más rápido.
El segundo método con el que Google aceleró Sparkplug consistió en omitir uno de los pasos que normalmente implica el proceso de optimización del código.
La otra tecnología nueva que contribuye al rendimiento de la nueva versión de Chrome se denomina llamadas incorporadas breves. La tecnología deriva sus nombres de incorporados, que son fragmentos de código que se ejecutan junto con el código JavaScript de una página web y realizan varias tareas auxiliares.
Antes de la introducción de la función, Chrome almacenaba códigos integrados y JavaScript en partes seleccionadas al azar de la memoria de una computadora, lo que ralentizaba el rendimiento debido a un detalle técnico relacionado con la forma en que se construyen los procesadores modernos.
En la práctica, la tecnología logra la aceleración al reducir la necesidad de que los procesadores utilicen su mecanismo de predicción de ramas. El mecanismo de predicción de rama es un componente de chip que adivina los resultados futuros de los cálculos. Al usar menos el componente, Chrome reduce el riesgo de que el chip haga conjeturas incorrectas que retrasan el procesamiento y, por lo tanto, mejoran el rendimiento.
Fuente: https://blog.chromium.org