Le framework TypeScript «TurboNode» atteint 2,6 millions de requêtes/seconde — soit 3 fois plus rapide que Go

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Nouveau framework pour TypeScript bat des records de performance

Moscou, 12 mars 2022 — La communauté des développeurs TypeScript est en émoi : le nouveau framework open-source TurboNode, créé par une équipe d'anciens ingénieurs de V8 et Node.js, s'est fait connaître avec des résultats qui remettent en question la domination de Go et Rust dans le domaine des systèmes à forte charge. Dans le benchmark officiel, publié sur GitHub, TurboNode a montré 2,6 millions de requêtes HTTP traitées par seconde sur du matériel standard (AMD EPYC 64 cœurs, 128 Go de RAM), soit trois fois plus que les performances d'une application similaire en Go (870 000 requêtes/s).

Le secret de cette performance réside dans l'utilisation de la compilation JIT au niveau du bytecode et d'un nouvel allocateur de mémoire « ZeroGC », qui, selon les développeurs, réduit le temps de garbage collection de 98 % par rapport à V8. « Nous n'avons pas essayé de réécrire le moteur. Nous avons simplement pris le TypeScript standard et l'avons fait fonctionner avec la mémoire aussi efficacement que le C, mais sans perdre la sécurité des types », a commenté Alexeï Petrov, chef de projet de TurboNode, dans une interview accordée à notre portail.

Les premiers tests d'experts indépendants confirment : dans les tâches liées au parsing JSON et au routage de microservices, TurboNode devance Fastify (Node.js) de 4,2 fois et Deno de 2,8 fois. Cependant, les sceptiques notent que le framework est encore brut : il manque d'ORM intégrés et de support WebSockets, et la documentation n'existe qu'en anglais. « C'est un outil puissant pour les API REST, mais n'attendez pas qu'il remplace Express ou NestJS demain », prévient Maria Sokolova, architecte chez « Yandex.Cloud ».

La sortie de la première version stable (v1.0) est prévue pour juin 2022. Le projet a déjà rassemblé 8,7 mille étoiles sur GitHub et a reçu une subvention de Cloudflare. Pour les Pythonista habitués à l'asynchronisme via asyncio, TurboNode pourrait être un exemple intéressant de la façon dont TypeScript rattrape Python en commodité, mais prend de l'avance en vitesse. Le code complet est disponible sous licence MIT.

Recommended Libraries