Activa las notificaciones para estar al tanto de lo más nuevo en tecnología.

Las pruebas para demostrar qué lenguaje es mejor, más eficiente, etcétera, en general no están estandarizadas. Estos benchmarks muchas veces dependen del sesgo que les da quien los inventa, pero aún así, pueden dar cierta luz sobre cosas que queremos comparar para saber cuál es la mejor. Así, Google decidió que los benchmarks actuales de Javascript no hacían el trabajo de poner a prueba un lenguaje moderno en un ambiente web moderno, por lo cual, diseñaron su propia batería de pruebas, llamada Octane, en un intento de hacer mediciones más representativas.

Google ha intentado hacer una batería de pruebas mixta. En lugar de construir tareas específicas a resolver, Octane usa algunas aplicaciones del mundo real y las corre para llegar a un número que equivale al desempeño. De hecho, se han añadido cinco nuevas tareas al benchmark V8 original que Google usó para probar su Javascript:

  • Box2DWeb – corre un motor de fisica en 2D portado a Javascript, el cual se usa en muchas simulaciones y juegos de la web.
  • Mandreel – es un motor de balas en 3D portado a Javascript, pero con un giro: el código original en C++ se trasladó a Javascript por el compilador de Mandreel, el cual se ha usado en incontables juegos web.
  • Pdf.js – está basado en el lector de PDFs de Mozilla y muestra como las aplicaciones de Javascript pueden reemplazar los complejos plug-in de los navegadores. Mide qué tan rápido un navegador decodifica un documento PDF ejemplo.
  • GB Emulator – se deriva de un emulador de código abierto de una consola popular, corriendo una demo en 3D.
  • CodeLoad – mide que tan rápido el motor de Javascript entra (hace el bootstrap), usado comúnmente en las bibliotecas de Javascript. El código de esta prueba se derivó de las bibliotecas de código abierto Closure y JQuery.

Estas pruebas, como puede verse, están muy orientadas a la parte gráfica y tienen algunas características tomadas de WebGL que no pueden correrse en IE9 pero sí en IE10.

Las tareas originales del benchmark V8 son:

  • Richards – Simulación del kérnel del sistema operativo, escrito en BCPL originalmente por Martin Richards.
  • DeltaBlue – Un programa que resuelve problemas con condiciones de frontera específicos, escrito originalmente en Smalltalk por John Maloney y Mario Wolczko.
  • Crypto – Codificación y decodificación, basado en el código de Tom Wu.
  • RayTrace – Permite probar la técnica de raytrace en gráficas bajo el código escrito originalmente por Adam Burmister.
  • EarleyBoyer – Clásico benchmark traducido a Javascript por el compilador de Scheme2Js, de Florian Loitsch
  • RegExp – benchmark generado para las expresiones regulares, que extrae las mismas de 50 de las páginas web más populares.
  • Splay – benchmark de manipulación de datos que lidian con los árboles splay y verifica los subsistemas automáticos de manejo de memoria.
  • NavierStokes – Resuelve las ecuaciones NavierStokes en 2D. Hay una pesada manipulación de arreglos de doble precisión. Se basa en el código de Oliver Hunt.

Y aunque estas pruebas parecen completas, un aspecto no ha sido considerado, el de la interacción de Javascript cn DOM. Si usted está escribiendo un programa que actualiza dinámicamente la estructura de la página, este benchmark Octane no le será de gran ayuda.

Octane puede correr en el navegador de su preferencia entrando a la página y dando click en Start. Puede trabajar incluso con algunos sistemas móviles.

Referencia: Octane Benchmark

Desde la Red…
Comentarios