C++ Thread-Local Storage Performance-Probleme: 0 + 0 > 0?

2025-02-17
C++ Thread-Local Storage Performance-Probleme: 0 + 0 > 0?

Dieser Artikel untersucht eingehend die Performance-Auswirkungen der Verwendung von thread_local-Variablen in C++. Durch die Analyse von Assemblercode werden signifikante Performance-Unterschiede in verschiedenen Szenarien aufgezeigt, insbesondere bei thread_local-Variablen mit Konstruktoren und solchen, die in gemeinsam genutzten Bibliotheken verwendet werden. Selbst einfache Zugriffe können aufgrund von Konstruktoraufrufen, dynamischem Laden gemeinsam genutzter Bibliotheken und anderer Faktoren zu erheblichen Verlangsamungen führen. Der Artikel schließt mit Richtlinien zur Performance-Optimierung und diskutiert zukünftige Verbesserungen, um Entwickler dabei zu unterstützen, Performance-Fallen von thread_local zu vermeiden.

Entwicklung