Express vs Springboot: comparación de rendimiento de Hello world
En el artículo anterior , donde comparé el servidor HTTP nativo de Node con Spring, recibí comentarios de que la comparación no era justa. Spring es un marco, por lo tanto, debe compararse con un marco en el lado del Nodo: Express, Fastify, Nest.js, etc. Un punto muy válido.
Este artículo compara el extremadamente popular express.js con spring. Es bien sabido que express es bastante lento. No espero que funcione mejor que la primavera. La configuración de prueba es la misma: MacBook M1 con 16G de RAM. Node.js v19.7.0 se compara con Spring 3.0.2 sobre Java 17.
El código es el siguiente:
Nodo.js
import express from "express";
const app = express();
const port = 3000;
app.get("/", (req, res) => {
res.send("Hello World!");
});
app.listen(port, () => console.log("Listening on", port));
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.http.ResponseEntity;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/")
public String handleRequest() {
return "Hello World!";
}
}
Vayamos directamente a los resultados.
No estoy nada sorprendido con los resultados. En mis ejecuciones anteriores , he visto que Express es muy lento. Y ese es el caso aquí, también. Express resulta ser dos o tres veces más lento que Spring. El único problema con Spring es el uso excesivo de CPU y memoria.
GANADOR : Primavera
Una comparación similar con Fastify se puede ver aquí .

![¿Qué es una lista vinculada, de todos modos? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































