Selon cnx-software, LWMALLOC se présente comme un allocateur de mémoire dynamique léger, spécifiquement conçu pour optimiser les systèmes embarqués. Ce nouvel outil dépasse les performances du PTMalloc, traditionnellement utilisé dans GLIBC, offrant un temps d’exécution jusqu’à 53% plus rapide tout en réduisant l’utilisation de la mémoire de 23%.
Avec 53% de rapidité par rapport à PTMalloc : LWMALLOC transforme l’allocation mémoire
Le Malloc classique a la réputation de provoquer une fragmentation de la mémoire sur les systèmes embarqués, ce qui peut conduire à des défaillances après une certaine période d’utilisation du firmware. Bien que la technique de collecte des ordures serve à atténuer cette fragmentation, elle est souvent peu pratique pour les appareils aux ressources limitées. C’est pourquoi beaucoup optent pour des méthodes comme l’allocation statique ou la création de pools de mémoire pour garantir une meilleure fiabilité. LWMALLOC se positionne comme une solution intégrée, offrant une alternative efficace aux allocateurs de mémoire dynamique.

Code de 530 lignes et une empreinte de 20 Ko : l’efficacité de LWMALLOC
Décrit dans l’article «LWMALLOC: Un allocateur de mémoire dynamique léger pour les environnements liés aux ressources», LWMALLOC se caractérise par une structure de données allégée et une politique de coalescence différée. Cette approche innovante permet de réduire considérablement les surcharges de métadonnées, se traduisant par une mise en œuvre à la fois compacte et performante. En reportant des opérations redondantes jusqu’au moment d’allocation, LWMALLOC maintient une efficacité tout en garantissant des temps de réponse optimaux. En outre, grâce à ses petits pools de morceaux, il parvient à offrir une allocation en O(1) pour les demandes de mémoire courantes.
Les chercheurs de l’Université nationale des sciences et de la technologie de Séoul (Séoultech), à l’origine de LWMALLOC, ont effectué des tests comparatifs avec PTMALLOC et ont rapporté des résultats significatifs : un temps d’exécution amélioré de 53% et une consommation de mémoire réduite de 23%. En outre, LWMALLOC, qui ne compte que 530 lignes de code, présente une empreinte de 20 Ko, contre 4838 lignes et 116 Ko pour PTMALLOC.
Bien que les alternatives comme Jemalloc, TCMalloc et Mimalloc soient mentionnées pour une gestion de la mémoire améliorée, ces solutions souffriraient de lourdes consommations de mémoire et de tailles de bibliothèque importantes, selon les étudiants coréens. Pour ceux intéressés par une intégration dans leurs projets, LWMALLOC est compatible avec les appels standards de Malloc, calloc, Realloc et free, ce qui rend son adoption transparente et rapide sans nécessiter de modifications du code d’application. Ce dernier peut d’ailleurs être injecté au moment de l’exécution à l’aide de LD_PRELOAD.
Applications diverses : IoT, électronique grand public et automobile
LWMALLOC s’avère particulièrement bénéfique pour les systèmes intégrés et les dispositifs IoT où la gestion de la mémoire et les performances sont primordiales. Selon Séoultech, ses applications s’étendent à l’électronique grand public, incluant des téléviseurs intelligents, divers appareils électroménagers, ainsi qu’à des systèmes automobiles nécessitant des temps de réponse en temps réel. Ces capacités font de LWMALLOC un choix judicieux pour de nombreux secteurs.
Merci à TLS pour le conseil.
