Ouvrir le menu principal

MacGeneration

Recherche

Sur le serveur, Swift est nettement plus rapide que Node.js

Nicolas Furno

jeudi 13 octobre 2016 à 14:00 • 57

Logiciels

Swift, le nouveau langage de programmation d’Apple, n’est pas limité aux produits du constructeur. Conçu comme un langage à tout faire, depuis le noyau d’un système d’exploitation jusqu’aux scripts des utilisateurs, il peut aussi servir sur les serveurs. Apple fournit une version prête à emploi pour Ubuntu qui sert justement à exploiter le langage sur un serveur, où Linux domine largement.

Pour utiliser Swift sur un serveur, il faut tout développer soi-même toutefois, ce n’est pas un langage prêt à l’emploi comme peut l’être PHP. Néanmoins, plusieurs frameworks proposent tout le nécessaire pour créer des applications en Swift dédiées à un serveur, sans avoir à gérer soi-même les connexions entrantes et sortantes et tout le reste. Mais que valent-ils sur le plan des performances, et par extension, comment se positionne Swift sur le serveur en termes de vitesse ?

Pour le savoir, Ryan Collins a comparé ces frameworks à un poids lourd côté serveur, à savoir Node.js qui permet d’utiliser du JavaScript sur un serveur. Cet environnement est devenu extrêmement populaire et de nombreuses entreprises l’utilisent pour leurs services, de Netflix à Uber, en passant par eBay et des centaines d’autres. C’est un outil très populaire, mais qui n’a jamais été très rapide et la comparaison avec Swift est impitoyable : node.js est souvent bon dernier.

Ce graphique mesure les performances d’un moteur de blog codé en utilisant trois frameworks Swift et node.js. Plus le nombre de requêtes est élevé, meilleures sont les performances.
Ce graphique mesure les performances d’un moteur de blog codé en utilisant trois frameworks Swift et Node.js. Plus le nombre de requêtes est élevé, meilleures sont les performances.

Les mesures ont été effectuées sur un Mac mini de 2012, où Ubuntu a été installé nativement (sans virtualisation). Deux applications minimales ont été créées, un blog et une autre qui génère un fichier JSON, pour simuler au mieux un usage réel de ces langages de programmation sur les serveurs. À l’exception de l’un des frameworks Swift qui avait un bug connu avec le JSON, Node.js a toujours terminé dernier sur les benchs qui mesuraient à la fois le nombre maximum de requêtes gérées correctement par seconde et le temps de réponse.

Naturellement, le choix d’un langage n’est pas lié uniquement aux performances. Dans le cas de Swift, l’intérêt pour les développeurs iOS et macOS est d’utiliser le même langage et pourquoi pas même les mêmes lignes de code pour leurs apps et pour le module serveur associé. C’est la même logique pour Node.js : les développeurs de sites web utilisaient déjà du JavaScript, ils pouvaient garder les mêmes compétences sur le serveur.

Si vous voulez commencer à utiliser Swift sur les serveurs, Perfect est un bon point de départ. Il est le plus rapide sur toutes les mesures effectuées par Ryan Collins et il semble plus avancé et complet que ses concurrents.

npm souffre aussi de lenteurs

Au sujet de Node.js, la plupart des développeurs utilisent un gestionnaire de paquets pour leurs projets et en général, ils exploitent npm. Le problème de cette solution, c’est qu’elle souffre, elle aussi, de lenteurs, surtout sur les plus gros projets.

Confronté au problème, Facebook — qui est sans doute l’un des plus gros utilisateurs de JavaScript — a mis au point sa propre solution. Yarn, c’est son nom, est nettement plus rapide que npm, il est aussi plus sécurisé et fiable. Et c’est un projet libre et gratuit que tout le monde peut utiliser.

Autre avantage de Yarn : sa mascotte est un chat tout mignon.
Autre avantage de Yarn : sa mascotte est un chat tout mignon.

Pour sa part, Swift intègre son propre gestionnaire de paquets.

Soutenez MacGeneration sur Tipeee

MacGeneration a besoin de vous

Vous pouvez nous aider en vous abonnant ou en nous laissant un pourboire

Soutenez MacGeneration sur Tipeee

Black Friday : l’iPad Air M3 à partir de 539 € au lieu de 669, du jamais vu

05:57

• 6


Il y a forcément un écran qui vous correspond : les meilleures offres BenQ du Black Friday 📍

24/11/2025 à 23:55

• 0


Tesla a voulu forcer la main des Pays-Bas pour valider sa conduite autonome en Europe, ça ne s’est pas bien passé

24/11/2025 à 22:33

• 32


Anthropic veut reprendre la couronne du meilleur modèle avec Opus 4.5 et ajoute Claude Code à son app pour macOS

24/11/2025 à 21:18

• 7


Jony Ive et Sam Altman ont des prototypes de leur mystérieux appareil pensé autour de l’IA

24/11/2025 à 18:49

• 20


Réduction rare sur le Magic Keyboard USB-C Touch ID avec pavé numérique

24/11/2025 à 17:46

• 17


Black Friday : jusqu’à - 63 % sur les offres Creative Cloud, même pour les abonnés existants

24/11/2025 à 16:13

• 12


Imagen, le logiciel d'édition photo par IA, offre 50% de réduction sur TOUT pour le Black Friday 📍

24/11/2025 à 16:06

• 0


Black Friday éclairage connecté : l’ampoule Hue Essential dès 11 € et autres promos intéressantes

24/11/2025 à 16:03

• 7


Essai de Starlink dans un avion Air France : les performances du Wi-Fi s’envolent

24/11/2025 à 16:03

• 31


iPhone 17 Pro : Apple célèbre ses performances même sous le cagnard dans une pub

24/11/2025 à 13:20

• 10


Black Friday : 20 % de remise sur de nombreux bracelets Apple, y compris les coloris récents

24/11/2025 à 10:24

• 6


Les prix des MacBook Air M4 s'effondrent : à partir de 869 € ! 🆕

24/11/2025 à 09:21

• 51


100 € de réduction sur l'ensemble de la gamme MacBook Pro M5

24/11/2025 à 08:51

• 0


Steam est enfin optimisé pour les puces Apple Silicon et gagne une icône adaptée à macOS Tahoe

24/11/2025 à 08:45

• 48


Zone Bar affiche vos fuseaux horaires dans la barre des menus de macOS

24/11/2025 à 08:00

• 8