Las pruebas de rendimiento sobre el código de JavaScript se estan convirtiendo en algo cada día más necesario. La capa de presentación adquiere más responsabilidades y los frameworks MVC de cliente ganan adeptos. Existen muchas herramientas que nos permiten realizar pruebas de rendimiento sobre JavaScript, una de las clásicas es JsPerf. Sin embargo comienzan a aparecer soluciones muy prácticas con un enfoque diferente. Una de ellas es Benchmark.js.
Utilizando Benchmark.js
El uso de esta librería permite realizar pruebas de rendimiento a través del concepto de suite. Para ello se crea una suite y se les añaden los diferentes casos de uso.
var suite = new Benchmark.Suite; // creando los test suite.add('Expression regular test()', function() { /o/.test('Hola Mundo!'); }) .add('String indexOf()', function() { 'Hola Mundo!'.indexOf('o') > -1; }) .add('Expression regular match()', function() { 'HolaMundo!'.match(/o/); }) // add listeners .on('cycle', function(evento) { console.log(String(evento.target)); }) //resultado .on('complete', function() { console.log('El mas rapido es: ' + this.filter('fastest').pluck('name')); }) .run({ 'async': true });
En este caso concreto se trata de comparar diferentes métodos a la hora de buscar un carácter dentro de una cadena. La suite ha sido configurada para probar los métodos test(), indexOf() y match() y localizar cual es el que tiene un mejor rendimiento. Si ejecutamos el código la consola de JavaScript imprimirá:
El resultado despeja las dudas de forma instantánea y no ha sido necesario utilizar herramientas complejas para ello.
En GenBeta Dev: JavaScript MicroFrameworks