15 Punkte von xguru 2021-05-03 | 2 Kommentare | Auf WhatsApp teilen
  • Der Grund, warum clang/llvm unter Fedora langsam ist, liegt daran, dass es aus politischen Gründen dynamisch mit anderen Paketen gelinkt wird

→ Dazu ein Kommentar von Linus Torvalds

"Ich wünschte, Fedora würde das nicht tun. Shared Libraries sind im Allgemeinen keine gute Idee.

In diesem Fall (clang) entsteht viel Overhead, und es entstehen unnötige Abhängigkeiten und Komplexität.

Die meisten Shared Libraries sind in der Praxis nicht einmal wirklich versionssicher, daher gibt es überhaupt keinen Vorteil"

"Man kann damit vielleicht Speicherplatz auf der Festplatte sparen, aber Festplatten sind billig, und auch die Speicherersparnis im RAM ist in Wirklichkeit negativ.

Leute sagen, 'Shared Libraries sind inhärent gut', aber das stimmt wirklich nicht. Sie schaffen viele Probleme, und ihre Vorteile müssen gegen diese großen Nachteile abgewogen werden.

Wirklich nützlich sind Shared Libraries nur bei den wirklich standardisierten Systembibliotheken einer grundlegenden Distribution."

2 Kommentare

 
benjamin 2021-05-03

Ich erinnere mich wieder daran, wie ich früher bei der Windows-Programmierung darüber nachgedacht habe, ob ich etwas als DLL bauen oder als statische Bibliothek direkt in die EXE einbetten sollte.

Anfangs mochte ich die Verwendung gemeinsam genutzter Bibliotheken, weil sie den Platten- und Speicherverbrauch senkten und die Cache-Effizienz erhöhten, aber später war das einfach nicht mehr vernünftig zu verwalten und viel zu umständlich, sodass ich schließlich alles statisch reingepackt habe.

Danach war mein Leben zwar bequemer, aber irgendwie hatte ich dabei immer ein mulmiges Gefühl, und jetzt, wo ich höre, was Linus sagt, bin ich endlich beruhigt.....

Ich hätte mir von Anfang an das Leben leichter machen sollen.

 
galadbran 2021-05-03

Ja, und in der Praxis spielt es neben der Erleichterung für die zuständigen Entwickler auch eine große Rolle, dass dadurch der Aufwand für den Support bei umgebungsspezifischen Problemen reduziert wird.