Witam, problem, który zaraz opiszę, umiem obejść, więc proszę nie tyle o pomoc w rozwiązaniu, co raczej
o fachowe wyjaśnienie jak to działa :)
Rozwijam projekt, który korzysta z zewnętrznych bibliotek (jest to coś w rodzaju pluginów). Wszystkie potrzebne DLL są dołączane dynamicznie. Co ważne, taki "plugin" obsługuje zazwyczaj tylko jakiś drobiazg, np. składa się z jednej funkcji. Jeden plugin = jeden plik DLL, więc załóżmy, że w skrajnym przypadku będę potrzebował 1000 DLL.
Od razu nasuwa się pytanie: czy tak duża liczba różnych DLL'ów nie spowoduje znacznego spadku wydajności? Program będzie tracił dużo czasu na przeskakiwanie pomiędzy bibliotekami?
Podkreślam, że w mojej specyficznej aplikacji dość ważna jest szybkość, więc znajdowanie DLL'a i odpowiedniej funkcji dopiero tuż przed wywołaniem nie wchodzi w grę. Wszystkie DLL są załadowane na starcie. Wszystko bazuje na .NET, więc pluginy mogłyby być napisane w dowolnym języku platformy. Ale czy takie rozwiązanie nie psuje całej aplikacji? Jak zachowuje się program w momencie wywoływania raz po raz funkcji z różnych zewnętrznych bibliotek?