Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/12/2012, 14:15
Avatar de dontexplain
dontexplain
 
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 10 años, 1 mes
Puntos: 127
Módulos y funciones en C++ para Nodejs y diferencias de rendimiento

Bueno, acabo de hacer una prueba en que paso una función en js a C++ y la compilo como un método de un módulo de nodejs.

La traducción no es muy diferente y sólo dista de manejar los tipos adecuadamente, que en este caso, obviamente, se ha de hacer la conversión de tipos reales como int o double a tipos javascript simulados como number o array. Para ello existen constructores de objetos y métodos puente.

Por ejemplo, para crear un número

Código C++:
Ver original
  1. Local<Number> n = Number::New(3); // crea el número
  2. double a = n->NumberValue(); // retorna el valor del número a double

La función convierte un color RGB en el formato R(XXX), G(XXX),B(XXX) a HSL retornando un array con 3 índices con un número decimal del 0 al 1.

La diferencia es abismal. En JS Node tarda en ejecutar la función ±1 11 milisegundos mientras que con la función embebida en la misma aplicación es de ±1 1 milisegundos.



Un saludo.
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor

Última edición por dontexplain; 17/12/2012 a las 15:33