Web BizarroWeb Bizarro

Suscríbete a nuestro Newsletter

X

Únete a nuestra lista de correos para recibir semanalmente actualizaciones de nuestro contenido.

JavaScript más rápido

JavaScript más rápido 09.JUL.14

Alvaro José Rios Ch
Fundador WebBizarro

Cuando creamos sistemas es importante tener en cuenta el rendimiento de nuestras aplicaciones, en el entorno web no solemos hacer cálculos complejos en JavaScript, a menos que sea algo muy especifico, pero si estamos trabajando del lado del servidor tenemos que tratar de hacer las cosas lo mejor posible.

FastJSes una librería que implementa una serie de funciones nativas de JavaScript pero con mucho mayor rendimiento aportando velocidad y fluidez a las aplicaciones. El proyecto aun es joven y esta optimizado para funcionar con el motor V8 (Google Chrome y NodeJS) por lo que no es recomendado ser usado en el Browser al menos por ahora pero es muy prometedor ya que es un proyecto muy activo.

Según explican los desarrolladores, actualmente no hay muchas diferencias entre las funciones nativas y las desarrolladas por terceros, gracias a los avances en los motores JavaScript como V8 pero hay ciertas especificaciones de ECMAScript que ponen en desventaja las funciones nativas.

var arr = new Array(100); // a sparse array with 100 slots
arr[20] = 'Hello World';
function logIt (item) {

    console.log(item);
}
arr.forEach(logIt);

En el ejemplo anterior vemos que la función logIt se llama una vez pero el arreglo tiene 100 posiciones, la función nativa tiene que verificar si efectivamente hay alguna asignación en cada posición del arreglo, sin embargo estos casos en el mundo real son muy raros por lo que estas validaciones pueden ser irrelevantes por lo que FastJs asume que el arreglo esta completo ganando en el 99% de los casos5 veces másoperaciones por segundo que la función nativa.

var fast = require('fast.js');
var arr = [1,2,3,4,5];
fast.forEach(arr, logIt); // faster than arr.forEach(logIt)

Es un desarrollo muy interesante que puede ayudar a optimizar y acelerar el trabajo del lado del servidor.