![]() |
langsames LoadLibrary
Hallo #,
ich habe eine Anwendung im Netz (Exe + 30 Dlls liegen auf gemapptem Laufwerk). Ich muss jetzt alle DLL's "was fragen". -> LoadLibrary Jede DLL ist etwa 2 MG gross, also werden 60 MB übers Netz gezogen. Das dauert je nach Netzauslastung. Über Sinn und Unsinn der Art der Installation will ich nicht streiten, hat der dortige Admin wegen einfacherem Update gemacht. Wie kann ich tun, um das etwas zu beschleunigen ? Heiko |
AW: langsames LoadLibrary
Das abzufragende vielleicht zentral in eine Ini o.ä. schreiben lassen, wenn das geht
|
AW: langsames LoadLibrary
Andere Idee: Was passiert denn wenn du eine kleine Exe zu den DLLs legst, die die DLLs "fragt" und dann nur die Antwort an die eigentliche Exe schickt per TCP/IP oder die Antworten in eine Datei schreibt und die eigentliche Exe holt sich dann nur die Antwortdatei? Und wenn die eigentliche Exe den Frager nicht findet, wird ebend der herkömmliche Weg gegangen.
|
AW: langsames LoadLibrary
Du könntest die DLLs lokal cachen. D.h. wenn die Dateien in deinem lokalen cache nicht vorhanden sind, oder sich von denen auf dem gemappten Laufwerk unterscheiden (andere Dateigrösse, Versionsnummer, Filedatum etc.) kopierst du Sie vom gemappten Laufwerk in den lokalen Cache. Das sollte das ganze wesentlich beschleunigen.
|
AW: langsames LoadLibrary
Ich würde die DLLs mit einer Versionsnummer versehen, lokal speichern und bei jedem Start prüfen, ob die Versionen der DLLs im Netzt neuer sind als die der lokalen DLLs und dann ggf die aktuelleren DLLs auf den lokalen PC kopieren.
|
AW: langsames LoadLibrary
Und die Versionsnummern dann zentral ablegen
|
AW: langsames LoadLibrary
Zitat:
Wobei man das dann auch so machen könnte, das man vom Server nur eine Datei mit den Versionsnummern der DLLs herunterlädt und die gespeicherten Versionsnummern mit den lokalen vergleicht. |
AW: langsames LoadLibrary
So hatte ich es auch gemeint
Siehe auch #2 |
AW: langsames LoadLibrary
Hallo,
lokal heisst ab Vista, dass ein Admin an jeden Rechner muss ... Das mit dem Cache hatte ich mir auch schon überlegt. Bei den Daten kann es sich schon um "etwas" mehr handeln (DB-Abfrage). Ich muss mal sehen. Danke. Heiko |
AW: langsames LoadLibrary
Zitat:
|
AW: langsames LoadLibrary
Alos wenn ich mich nicht ganz täusche soltle Windows beim laden eienr DLL nur den Teil auch wirklich laden auf den du zugreifst. Bei reinem Code ist das zwar durch die Relocation/Import-Tabelle zwar fast alles, wenn aber Bilder usw. in der DLL sind werden die eigentlich nicht mit geladen. Deshalb die Frage: Ist das wirklich 2MB Code? Its die DLL gepackt (z.B. UPX?)
|
AW: langsames LoadLibrary
Ich glaub eher, dass es durch die vielzahl an kleinen Ladeoperationen so langsam ist (eine grosse Datei wird schneller ubertragen als 30 kleine der kombinierten gleichen Grosse). Dazu kommen dann evtl. noch Zugriffe durch einen Virenscanner, der die Datei auch erstmal aus dem Netz zieht und dann analysiert.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz