Express vs Springboot : Comparaison des performances du monde entier

Apr 07 2023
Dans l'article précédent, où j'ai comparé le serveur HTTP natif de Node avec Spring, j'ai reçu des commentaires selon lesquels la comparaison n'était pas juste. Spring est un framework, il faut donc le comparer à un framework côté Node : Express, Fastify, Nest.

Dans l' article précédent , où j'ai comparé le serveur HTTP natif de Node avec Spring, j'ai reçu des commentaires selon lesquels la comparaison n'était pas juste. Spring est un framework, il faut donc le comparer à un framework côté Node : Express, Fastify, Nest.js, etc. Un point très valable.

Cet article compare le très populaire express.js avec spring. Il est bien connu que express est assez lent. Je ne m'attends pas à ce qu'il soit plus performant que le printemps. La configuration de test est la même : MacBook M1 avec 16 Go de RAM. Node.js v19.7.0 est comparé à Spring 3.0.2 sur Java 17.

Le code est comme suit:

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

Passons directement aux résultats.

Je ne suis pas du tout surpris des résultats. Dans mes courses précédentes , j'ai vu que l'express est très lent. Et c'est le cas ici aussi. L'express s'avère deux à trois fois plus lent que le printemps. Le seul problème avec le ressort est une utilisation excessive du processeur et de la mémoire.

GAGNANT : Printemps

Une comparaison similaire avec fastify peut être vue ici .