Amélioration inattendue des performances du CPU grâce à l'optimisation de la structure de données

2025-08-26

Un programme traitant un grand ensemble de données a rencontré des goulots d'étranglement en termes de performances de la mémoire et du CPU. Initialement, l'utilisation d'un seul tableau pour stocker les données a entraîné une consommation de mémoire pouvant atteindre 1 Go. En utilisant la programmation orientée données, la division des données en plusieurs tableaux a permis d'économiser environ 200 Mo de mémoire. Une optimisation supplémentaire a consisté à remplacer un tableau de chaînes par des index de tableau d'octets pour les noms de champs, réduisant encore l'utilisation de la mémoire. Étonnamment, ce changement a également diminué considérablement l'utilisation du CPU. La raison réside dans le mécanisme de garbage collection : le traitement d'un tableau de chaînes nécessite que le GC parcoure tous les objets chaîne, tandis que le traitement d'un tableau d'octets ne le fait pas, réduisant ainsi considérablement la surcharge du GC.