Express vs Springboot: Comparação de desempenho do Hello World

Apr 07 2023
No artigo anterior, onde comparei o servidor HTTP nativo do Node com o spring, recebi comentários de que a comparação não era justa. O Spring é um framework, portanto deve ser comparado com um framework no lado do Node: Express, Fastify, Nest.

No artigo anterior , onde comparei o servidor HTTP nativo do Node com o spring, recebi comentários de que a comparação não era justa. Spring é um framework, portanto deve ser comparado com um framework no lado do Node: Express, Fastify, Nest.js, etc. Um ponto muito válido.

Este artigo compara o extremamente popular express.js com spring. É sabido que o expresso é bastante lento. Não espero que tenha um desempenho melhor do que a primavera. A configuração de teste é a mesma: MacBook M1 com 16G RAM. O Node.js v19.7.0 é comparado com o Spring 3.0.2 sobre o Java 17.

O código é o seguinte:

Node.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!";
  }
}

Vamos pular direto para os resultados.

Não estou nem um pouco surpreso com os resultados. Nas minhas corridas anteriores , vi que o expresso é muito lento. E é o caso aqui também. Express acaba sendo duas a três vezes mais lento que a primavera. O único problema com o spring é o uso excessivo de CPU e memória.

VENCEDOR : Primavera

Uma comparação semelhante com fastify pode ser vista aqui .