Laboratorio

Medimos
antes de opinar.

Mediciones propias, con su método, sus resultados y sus límites.

Se publica todo

También los resultados que no favorecen a la herramienta que preferimos.

Se explica el método

Versiones, equipo, carga y código, para que puedas repetir la prueba.

Se dicen los límites

Una medición responde una pregunta concreta, no todas.

Medición 1: un mismo servicio en cuatro lenguajes

Comparamos Rust, Go, Node.js y Python con un microservicio HTTP, en un Mac con M4 Max.

Servicio pequeño, 1 núcleoRustGoNode.jsPython
Capacidad máxima (pet/s)104 567101 48990 58014 024
Memoria (MB)4,715,565,938,5
CPU a 2000 pet/s6,6 %8,0 %8,1 %34,5 %
Latencia p99 a 2000 pet/s (ms)1,721,271,273,64

Con un servicio pequeño, Rust gana en memoria y consumo, pero no en p99: Go y Node.js quedan por debajo.

5 millones de registrosRustGoNode.js
Memoria real (MB)408865875
p99 con 1 núcleo (ms)2,2 a 10,981 a 1272,1 a 2,9
p99 con 4 núcleos (ms)2,32,6n/a

Con muchos datos en memoria, Node.js fue el más estable con un núcleo. Go sufrió con un núcleo, y casi igualó a Rust con cuatro.

Lo que esta prueba no dice: es un servicio de ejemplo en un equipo de escritorio, no tu sistema. Las cifras sirven para entender el método y repetirlo con tu carga real.

Ver el código, el método y el análisis completo. También puedes leer qué explican estas pausas.

Construye mejor software.

Seguridad, eficiencia y oficio, con fuentes y en español.