GC de Go : Plongeon profond et allocateur d'arène personnalisé

2025-04-21
GC de Go : Plongeon profond et allocateur d'arène personnalisé

Cet article explore les complexités du garbage collector de Go et utilise ces connaissances pour construire un allocateur d'arène hautes performances. En exploitant intelligemment le comportement du GC de Go, l'auteur obtient une allocation mémoire plus rapide que l'allocateur intégré de Go, notamment pour les allocations à grande échelle. L'article détaille les principes de conception, l'implémentation et les résultats de benchmark de l'allocateur d'arène personnalisé, et analyse également ses performances dans des environnements à forte concurrence.

Lire plus

Triples de cible : un guide dans le chaos du compilateur

2025-04-15
Triples de cible : un guide dans le chaos du compilateur

Cet article explore les complexités des triples de cible du compilateur, tels que x86_64-unknown-linux-gnu. Il explique les composants d’un triple (architecture, fournisseur, système d’exploitation, ABI) et révèle les différences entre la gestion de GCC et de LLVM. L’article détaille les conventions de nommage pour diverses architectures (x86, ARM, etc.), la représentation du fournisseur et du système d’exploitation, et souligne l’importance de la cohérence pour éviter toute confusion. En fin de compte, l’auteur déconseille d’inventer de nouvelles conventions de triples de cible lors de la création de nouvelles chaînes d’outils pour faciliter la collaboration entre les chaînes d’outils.

Lire plus
Développement triples de cible