Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   langsames LoadLibrary (https://www.delphipraxis.net/151939-langsames-loadlibrary.html)

hoika 7. Jun 2010 12:51

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

mkinzler 7. Jun 2010 12:54

AW: langsames LoadLibrary
 
Das abzufragende vielleicht zentral in eine Ini o.ä. schreiben lassen, wenn das geht

Luckie 7. Jun 2010 13:02

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.

ele 7. Jun 2010 13:13

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.

HeikoAdams 7. Jun 2010 13:26

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.

mkinzler 7. Jun 2010 13:27

AW: langsames LoadLibrary
 
Und die Versionsnummern dann zentral ablegen

HeikoAdams 7. Jun 2010 13:40

AW: langsames LoadLibrary
 
Zitat:

Zitat von mkinzler (Beitrag 1026347)
Und die Versionsnummern dann zentral ablegen

Eine Ini- oder XML-Datei würde sich für so was IMHO am ehesten anbieten.

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.

mkinzler 7. Jun 2010 14:01

AW: langsames LoadLibrary
 
So hatte ich es auch gemeint
Siehe auch #2

hoika 7. Jun 2010 15:02

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

H4ndy 7. Jun 2010 15:12

AW: langsames LoadLibrary
 
Zitat:

Zitat von hoika (Beitrag 1026390)
lokal heisst ab Vista, dass ein Admin an jeden Rechner muss ...

Gibt doch genug Verzeichnisse, wo du auch ohne Adminrechte reindarfst, z.B. %COMMONAPPDATA% und Konsorten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:30 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz