Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Welche eingebundene Unit brauche ich nicht? (https://www.delphipraxis.net/47836-welche-eingebundene-unit-brauche-ich-nicht.html)

Taladan 16. Jun 2005 21:22


Welche eingebundene Unit brauche ich nicht?
 
Wie kann ich raus finden, welche eingebunden Units meine Units wirklich brauchen? Durch viel rumgeteste hab ich da bestimmt viel unnützes Zeugs eingebunden. Jedoch will ich nicht unbedingt bei 30 Units jede einzeln rausnemen um zu schauen ob der Compiler meckert. Oder ist es unwichtig, ob und wie viele Units zusätzlich eingeschlossen sind (Performance, Größe der .exe)?

Phoenix 16. Jun 2005 21:26

Re: Welche eingebundene Unit brauche ich nicht?
 
Es gibt da ein Tool.. ich glaub das heisst Icarus Uses List analyzer. Google mal danach. Der analysiert dein komplettes Projekt und sagt dir, welche uses du nicht brauchst und welche du vom declaration in den implementation - Teil verschieben kannst.

Brüggendiek 17. Jun 2005 01:16

Re: Welche eingebundene Unit brauche ich nicht?
 
Hallo Taladan!

Die Frage, ob eine überflüssige Unit negative Auswirkungen hat, kann man nicht pauschal beantworten.

Wenn ein Unit einen Initialisation- und/oder Finalisation-Teil hat, wird dieser beim Programmstart bzw. Programmende durchlaufen. Daraus folgt, daß der Linker den zugehörigen Code in die EXE packen muß.
Routinen, die nicht aufgerufen werden, tauchen auch in der EXE nicht auf.

Unnötig eingebundene Units mit Anfangs- und Endecode blähen also die EXE unnötig auf und verzögern Programmstart/Programmende. Andere Units verlängern allenfalls die Compile-Zeit, weil sie unter Umständen neu übersetzt werden müssen, haben aber keinen Einfluß auf das fertige Programm.

Das schon erwähnte Icarus findest Du hier (ganz unten auf der Seite).

Gruß

Dietmar Brüggendiek
Edit: Dicke Finger, kleine Tasten - grrrrr


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:35 Uhr.

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