Ich bin gerade dabei, einen plattformunabhängigen Wrapper für dynamisch geladene Bibliotheken zu implementieren. Natürlich, wenn ich Funktionen aus den Bibliotheken lade, muss ich sie als Zeiger für die zukünftige Verwendung speichern. Ich dachte an die Verwendung von boost::function's für das anstelle von normalen Funktionszeigern. Sicher, das wird die Kompilierzeit erhöhen, aber davor habe ich keine Angst. Sondern:
Wie hoch ist der Overhead, den boost::function verursacht, wenn aufrufen die gespeicherte Funktion? Gibt es eine? Wie groß ist sie?
Ich schätze, dass ich nicht viel Overhead habe, wenn ich solche Funktionen von Zeit zu Zeit aufrufe, aber wie sieht es mit Funktionen aus, die oft aufgerufen werden (extremes Beispiel)? glVertex
auf eine geladene GL-Bibliothek). Wie sehr würde dies die Leistung beeinträchtigen?
Der Quellensprung hat nicht viel gebracht :>.
Auch wenn es compilerabhängig ist, bin ich hauptsächlich an GCC und MSVC interessiert.