Me preguntaba qué pensaría si usara jsperf.com resultados de las pruebas de Chrome como punto de referencia para el rendimiento de node.js, ya que ambos utilizan el motor V8.¿Los resultados de Chrome de jsPerf.com son confiables para node.js Benchmark?
Respuesta
En su lugar, puede usar Benchmark.js. Es lo que potencia jsPerf y también funciona en Node.js.
Creo que debes considerar las diferentes versiones de v8, que son utilizadas por chrome/ium y node.js.
Obtener la versión del V8 de su instalación del nodo actual:
listanpm --versions
las versiones del ecosistema nodo, incluyen la versión del V8:weemonger @ awesomeLinuxDistro: ~ $ NPM --versions
{NPM: '2.11.3',
http_parser: '2.3',
módulos: '14',
nodo: '0.12.7', openssl: '1.0.1p',
uv: '1.6.1',
v8: '3.28.71.19',
zlib: '1.2.8'}obtener la versión del V8 en su actual cromo/cromo: Tipo
chrome://version/
en la barra de direcciones:cromo: 38.0.2092.0 (Entwickler-Build 282911)
Betriebssystem: de Windows (no tan impresionante OS)
parpadeo: 537,36 (@ 178012)
JavaScript: V8 3.28.21
de inflamación: 20,0,0,235
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2092.0 Safari/537.36
...
Felicitaciones a bentinata por el comentario.
Sin embargo, el enfoque más seguro es punto de referencia en su entorno específico (ver John-David Daltons answer).
no tan agradable (antiguas) formas de obtener la versión del V8
Node.js
nodo -e "console.log (process.versions .v8) "
(https://stackoverflow.com/a/10264593/3346021)cromo/cromo
Consulte Ariya Hidayats Blog para determinar la versión de v8 utilizada por chrome/ium.En primer lugar, un vistazo a los comunicados de las ramas del repositorio de Subversion cromo, convenientemente browseable en src.chromium.org/viewvc/chrome/releases.
Ahora es cuestión de verificar la versión correcta. En el momento de escribir esto, mi Google Chrome dice que es en la versión 17.0.963.46.
Al ver el archivo 17.0.963.46/DEPS (utilizado por Gyp, el sistema de compilación), encontrará el enlace a la versión correcta de V8, es decir, v8.googlecode.com/svn/branches/3.7 revisión 10521.
Esto se puede referenciar en el repositorio V8: branches/3.7 & start = 10521.
He creado una herramienta que me ayuda a buscar y ejecutar pruebas de jsperf.com: https://github.com/OrKoN/jsperf
Por ejemplo:
jsperf get replace-vs-split-join-vs-replaceall 67
jsperf run replace-vs-split-join-vs-replaceall 67
67 es el número de revisión aquí. El resultado es la siguiente:
- 1. ¿Son confiables los enchufes?
- 2. ¿Los datos en siginfo son confiables?
- 3. ¿Qué tan confiables son los sockets de dominio de Unix?
- 4. ¿Se supone que los temporizadores EJB son persistentes/confiables?
- 5. ¿Cuán confiables son los URI como /index.php/seo_path
- 6. ¿Qué certificados son confiables en Truststore?
- 7. explicar este resultado JsPerf.com
- 8. Perfiles de Java: ¿Qué tan confiables son los valores que otorga?
- 9. ¿Qué tan confiables son los archivos de registro de acceso de Amazon s3?
- 10. Python: ¿Por qué algunos de los métodos de Queue.queue "no son confiables"?
- 11. ¿Cuáles son los casos de uso de Node.js vs Twisted?
- 12. ¿Qué tan seguros y confiables son los Literals de C++ String?
- 13. MySQL Benchmark
- 14. ¿Cuáles son todos los resultados de acción de ASP.Net MVC?
- 15. Algoritmo para encontrar jugadores buenos y confiables
- 16. Error de Apache Benchmark HTTPS
- 17. Los resultados de SciPy interp1d son diferentes que MatLab interp1
- 18. Regex library benchmark
- 19. Apache Benchmark: concurrencia y número de solicitudes
- 20. Apache benchmark en HipHop para PHP
- 21. screen.width del navegador de Android, screen.height & window.innerWidth & window.innerHeight no son confiables
- 22. Benchmark de Java Try/Catch Block
- 23. Smarty benchmark, ¿alguien?
- 24. Valor predeterminado razonable de OpenSSL para certificados de CA confiables?
- 25. DI/IoC Container Performance Benchmark Comparison?
- 26. límite de memoria en Node.js (y V8 de Chrome)
- 27. Objetivo C: los resultados aleatorios son 1 o -1
- 28. Seleccione los artículos que son los mejores N resultados para una tabla relacionada
- 29. ¿Cuáles son los casos de uso adecuados para process.nextTick en Node.js?
- 30. ¿Cuáles son las opciones disponibles para obtener los resultados de cron y cómo configurarlos?
Usando chrome: ///versión funciona muy bien también! :) – bentinata