Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Speicherverbrauch

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Aldente
Gast





BeitragVerfasst am: 05. Jan 2001 13:41   Titel: Speicherverbrauch

Hi all!

Ich habe eine Frage zu UPX (http://wildsau.idv.uni-linz.ac.at/mfx/upx.html):
Wenn man mit dem GPL-Programm UPX ausfuehrbare i386-Linux-Programme komprimiert (die man evtl. mit "strip" schon vorher verkleinert hat), dann bleiben sie trotzdem noch ausfuehrbar, obwohl sie einen Bruchteil vom vorherigen Platz einnehmen.
Weiss zufaellig einer, ob dadurch der Speicherverbrauch beim Ausfuehren voruebergehend erhoeht wird?
Laut der Seite sollen die komprimierten Programme sogar schneller laufen, als die _nicht-komprimirrten_ Programme. Das kann ich jedoch ueberhauptnicht verstehen.
 

hjb
Pro-Linux


Anmeldungsdatum: 15.08.1999
Beiträge: 3236
Wohnort: Bruchsal

BeitragVerfasst am: 06. Jan 2001 17:52   Titel: Re: Speicherverbrauch

Hi,

ich kenne zwar UPX nicht im Detail, aber das folgende dürfte klar sein.

Bevor ein Programm ausgeführt werden kann, muß es vollständig entpackt werden, und zwar in eine temporäre Datei. Der Kernel kann nichts anderes ausführen.

Also müßte sich in aller Regel der Programmstart verlangsamen. Beim Entpacken wird auch Speicher benötigt, je nach verwendetem Algorithmus mehr oder weniger. Doch das dürfte vernachlässigbar sein.

Gruß,
hjb
_________________
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger

bakunin



Anmeldungsdatum: 16.08.1999
Beiträge: 597
Wohnort: Lorsch (Südhessen)

BeitragVerfasst am: 06. Jan 2001 21:51   Titel: Re: Speicherverbrauch

Guten Abend!

Ich nehme an, dass nicht in eine Datei, sondern direkt in den Speicher entpackt wird. Wenn ein Programm ungepackt sehr groß wäre, dann kann es sein, dass sich die Ladezeit verringert, da weniger Daten von der Platte geladen werden müssen...

Warum sie schneller laufen sollten ist mir nicht ganz klar, höchstens schneller starten und im Regelfall wohl nicht mal das.

Cheers,
Wolfgang
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

hjb
Pro-Linux


Anmeldungsdatum: 15.08.1999
Beiträge: 3236
Wohnort: Bruchsal

BeitragVerfasst am: 07. Jan 2001 19:35   Titel: Re: Speicherverbrauch

Hi Wolfgang,

wie sollte UPX es bewerkstelligen, das Programm aus dem Speicher heraus zu starten? Soweit mir bekannt, ist das nur mit dem Systemcall exec() möglich, und der verlangt eine Datei.

Oder geht es doch anders? Der entpackte Programmcode könnte auch mit mmap() eingebunden werden. Da gibt es auch ein Flag, daß dieser Code ausführbar sein soll. Genau so werden auch DLLs eingebunden. Aber irgendwie kann ich mir das nicht so recht vorstellen. Die Details dieses Vorgehens dürften recht kompliziert sein, damit das entpackte Programm nicht merkt, daß es von UPX aufgerufen wurde.

Verwendung von komprimierten Dateien/Partitionen war schon immer mit einem gewissen Performance-Verlust verbunden. Lediglich unter bestimmten Umständen, vielleicht wenn die Festplatte sehr langsam ist, kann man diesen wettmachen.

Gruß,
hjb
_________________
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy