Coup de boost pour les applications Linux 32 bits en environnement 64 bits

Crédit photo : © Martin Bech - Fotolia.com

Le projet x32 promet de faire fonctionner plus rapidement les logiciels Linux 32 bits en environnement 64 bits. Une solution qui se finalise rapidement.

Peter Anvin vient de publier un message intéressant sur la liste de diffusion du noyau Linux. Il y indique que la première version du projet x32 est maintenant accessible. Kesako ? x32 est une ABI (Application Binary Interface), c’est-à-dire une interface entre les logiciels et le noyau du système. Elle permet ici de faire fonctionner les applications Linux 32 bits sur un kernel 64 bits.

Rien de neuf sous le soleil, une ABI de ce type existant déjà au sein du noyau Linux. Toutefois, x32 propose des performances bien meilleures, en permettant aux logiciels d’accéder à toute la puissance du processeur, ainsi qu’à ses fonctionnalités les plus modernes (comme l’unité SSE ou l’ensemble des registres), ce que ne permettait pas l’ancienne ABI.

Les applications s’exécutent ainsi plus rapidement, tout en conservant un modèle mémoire 32 bits, pour des raisons imposées (application n’existant qu’en version binaire 32 bits) ou choisies (le modèle de mémoire 32 bits étant plus léger que le 64 bits).

Un produit performant et bien fini

Sur le site du projet, les développeurs ont effectué plusieurs tests. Pour les accès mémoire, le benchmark SPEC CPU 2000 32 bits se montre 32 % plus rapide que sa version 64 bits sur un même kernel 64 bits. Ceci reste logique : à modèle mémoire plus léger, meilleures performances. Il est également seulement 1 % plus lent qu’en environnement 32 bits. Le poids de cette nouvelle ABI reste donc négligeable. Un bon point.

Lors d’opérations de calculs, les résultats sont intéressants. Le test SPEC CPU 2000 32 bits se montre 5 % plus lent que sa version 64 bits en environnement 64 bits, ce qui montre que l’ABI x32 est bien optimisée (proche du « natif », pourrions-nous dire). L’application s’exécute également 29 % plus rapidement que lorsqu’elle fonctionne sur un noyau 32 bits. Le 64 bits, qui permet de booster les performances de l’ensemble de l’OS, favorise donc ici nettement le fonctionnement des applications 32 bits.

Le meilleur des deux mondes

De gros gains pour une maigre contrepartie; x32 devrait permettre aux noyaux Linux 64 bits de s’imposer. Il offrira même aux développeurs le choix d’utiliser un modèle mémoire plus véloce, car moins étendu que le 64 bits, avec parfois un gain important en matière de performances (tout dépendra de l’application).

Plus de détails sur le projet x32 se trouvent sur cette présentation de Peter Anvin, réalisée en 2011 lors de la Linux Plumbers Conference de Santa Rosa (Californie, États-Unis).

Crédit photo : © Martin Bech – Fotolia.com