# Komprimierte Dateien - Entpacken beschleunigen, aber wie?



## Karotte81 (27. August 2019)

Nabend,

ich würde gerne mal grundsätzlich fragen, welche Faktoren beim Entpacken einer Datei eigentlich hauptsächlich dafür verantwortlich sind, wie lange der Entpackvorgang letztlich dauert? 

Natürlich ist mir auch klar, dass es nichts mit der Grafikkarte zu tun hat, sondern für mich sind da hauptsächlich CPU, Festplatte und evtl Arbeitsspeicher verantwortlich. Und natürlich der Grad der Kompression, den man ja von "außen" so n

Nun habe ich in den letzten Jahren(wie sicher viele andere auch), meine Festplatten ausgetauscht gegen deutlich  schnellere Festplatten. Sei es eine schnelle SATA HDD, mehrere SSD's und auch einen m2 "Stick". Und da ich immer mal wieder Dateien entpacke, auch etwas größere, hatte ich mir eigentlich einen gewissen Geschwindigkeitszuwachs versprochen. Sicherlich, es geht bestimmt schneller als vorher, aber trotzdem dauert es mir immer noch zu lange. Zumal es kaum einen Unterschied macht, ob ich auf HDD oder SSD entpacke, selbst die m2 ist nicht viel schneller beim Entpacken. 

Warum ist das so? Ich habe eigentlich kaum bis nie beobachtet, zumindest in den letzten Jahren, wie die Auslastung beim Entpacken ist. Und was mich etwas verwundert war die Tatsache, dass weder Festplatte noch CPU voll ausgelastet sind. sogar teils weit entfernt davon.
Grad mal etwas entpackt, da war die CPU bei knapp 10% und die Festplatte so bei 75-80%. 

Daher frage ich mich, wie kann ich das noch beschleunigen? Die CPU ist doch sicherlich auch dafür verantwortlich wie schnell das geht, wieso gibt sie nicht mehr Gas? Oder "ist das halt so" .... 

Und für die tl;dr -Fraktion:
Wie beschleunige ich das Entpacken einer Datei und warum sind CPU/HDD beim Entpacken nicht ausgelastet? 

Bin gespannt auf eure Meinungen


----------



## Stryke7 (27. August 2019)

Üblicherweise ist der limitierende Faktor der Prozessor. Heutzutage ist dabei die wichtigste Frage, ob dein Komprimieralgorithmus Multithreading beherrscht. 

Wenn er das tut und die CPU trotzdem nicht voll ausgelastet ist, wird auf irgendeiner Ebene der verwendete Speicher zu langsam sein. 


Hast du mal ein konkretes Beispiel?  Bei welchem Komprimieralgorithmus auf welchem Betriebssystem hast du denn Probleme?


----------



## HisN (27. August 2019)

Entpacke von einer Ramdisk in eine Ramdisk (falls Du genug RAM hast),
damit würdest Du den "Flaschenhals" HJDD/SSD umgehen und sehen das es an der CPU hängt, wenn Du z.b. Kerne abschaltest. Eventuell kannst Du dann auch sehen wie viele Kerne Dein Programm eigentlich benutzt.

Ach Du hast ja nur 4 Kerne ... da ist natürlich Essig mit Kerne abschalten.


----------



## Karotte81 (27. August 2019)

HisN schrieb:


> Entpacke von einer Ramdisk in eine Ramdisk (falls Du genug RAM hast),
> damit würdest Du den "Flaschenhals" HJDD/SSD umgehen und sehen das es an der CPU hängt, wenn Du z.b. Kerne abschaltest. Eventuell kannst Du dann auch sehen wie viele Kerne Dein Programm eigentlich benutzt.
> 
> Ach Du hast ja nur 4 Kerne ... da ist natürlich Essig mit Kerne abschalten.



Das war jetzt aber ein bisschen sinnlos, oder?  
Denke aber mit 32GB komme ich da so oder so nicht weit. 



Stryke7 schrieb:


> Üblicherweise ist der limitierende Faktor der Prozessor. Heutzutage ist dabei die wichtigste Frage, ob dein Komprimieralgorithmus Multithreading beherrscht.
> 
> Wenn er das tut und die CPU trotzdem nicht voll ausgelastet ist, wird auf irgendeiner Ebene der verwendete Speicher zu langsam sein.
> 
> ...



Wo sehe ich denn wie der Komprimierungsalgorithmus bei einer gepackten Datei ist? Und klar, DDR4 3000Mhz CL15 ist jetzt nicht das Höchste der Gefühle, aber sicher auch nicht langsam. Ich nutze übrigens natürlich Windows 10. Und Probleme hab ich ja nicht, es dauert mir einfach nur zulange. Kann nicht sein dass ich bei 100GB fast 20-25 Minuten da dransitze. Wenn die Daten so, ausgepackt, verschoben oder kopiert werden, ist die Geschwindigkeit total in Ordnung. 

Ich kann ja auch mal so fragen, wo würdet ihr bei meinem System ansetzen, um das ganze etwas zu beschleunigen?


----------



## Stryke7 (27. August 2019)

Karotte81 schrieb:


> Wo sehe ich denn wie der Komprimierungsalgorithmus bei einer gepackten Datei ist?


Von was für einer Kompression reden wir?  zip? 



Karotte81 schrieb:


> Kann nicht sein dass ich bei 100GB fast 20-25 Minuten da dransitze. Wenn die Daten so, ausgepackt, verschoben oder kopiert werden, ist die Geschwindigkeit total in Ordnung.


Je nach Einstellung kann das schon sehr gut sein. Bei den meisten Kompressionsverfahren kann man verschiedene Konfigurationen vornehmen, welche den Kompressionsgrad und damit die resultierende Dateigröße und die Verarbeitungszeit extrem verändern können.


Karotte81 schrieb:


> Ich kann ja auch mal so fragen, wo würdet ihr bei meinem System ansetzen, um das ganze etwas zu beschleunigen?



Da gäbe es viele Ansätze ... 

- einen anderen Kompressionsalgorithmus nutzen
- die Kompressionsstufe verändern
- ein Betriebssystem mit besserem Ressourcenmanagement installieren (also Linux)
- einen schnelleren Prozessor kaufen
- den aktuellen Prozessor übertakten
- schnelleren Haupt- und Massenspeicher verwenden
- die Speicherschnittstellen übertakten


----------



## -Shorty- (27. August 2019)

RGB Lüfter hast du aber vergessen. 

100Gb auf 4 Kernen in 20-25 Minuten ist doch ok. 

Stryke7 hat die wichtigen Punkte genannt.
Die Signatur krieg ich am Handy leider nichtmal in der Browservariante.


----------



## Karotte81 (28. August 2019)

Stryke7 schrieb:


> Von was für einer Kompression reden wir?  zip?



Zip und Rar Dateien, manchmal auch 7zip. Spielt das eine Rolle? Aber meistens .rar Dateien. Dennoch sieht man nie die Kompressionsstufe. Denkst du ernsthaft, ich komprimiere Dateien mit dem vllt höchsten Komprimierungsgrad und wundere mich dann darüber, dass das lange dauert?    mal davon ab geht es nicht darum dass eine stark komprimierte Datei länger dauert, sondern dass es für mein Gefühl grundsätzlich zu lange dauert iwas zu entpacken. 



> Je nach Einstellung kann das schon sehr gut sein. Bei den meisten Kompressionsverfahren kann man verschiedene Konfigurationen vornehmen, welche den Kompressionsgrad und damit die resultierende Dateigröße und die Verarbeitungszeit extrem verändern können.



Ist klar, hab ich ja auch im Eingangsposting bereits erwähnt. 



> Da gäbe es viele Ansätze ...
> 
> - einen anderen Kompressionsalgorithmus nutzen
> - die Kompressionsstufe verändern
> ...



Dir ist aber klar dass ich die Dateien nicht selber packe? Also ist nix mit "anderen Algorithmus nutzen. Gleiches gilt für Kompression. 

Linux ist Blödsinn für unerfahrene User, als ob ich wg dem Entpacken von Dateien ein anderes OS nutze. Ich dachte da eher an praxistaugliche Tipps, die man schnell umsetzen könnte. Dass ich mir einfach die teuerste CPU, den schnellsten Ram und generell den besten Kram kaufen könnte, DAS ist mir dann wohl auch klar. 

Zumal ich auch nicht verstehe, was soll eine bessere CPU nutzen? Die CPU wird doch kaum beansprucht. Was nutzt es dann wnen ich ne bessere CPU habe? Ich glaube nicht das 200-500Mhz in der Spitze pro Kern die Welt ausmachen. 
Schnelleren Speicher hab ich schon gesagt, was soll ich da kaufen? 4800Mhz Ram? Inkl neuem Board? Also 400-500€ für Ram ausgeben + 200-300€ für ein Board was so einen ram überhaupt unterstützt? Um wieviel % Steigerung zu haben?? 
Dir dürfte auch klar sein, dass der P/L Faktor und der Nutzen Faktor da ganz ganz schlecht sind. 

Ich hatte einfach gehofft es gibt Tipps die dahingehen, dass der Rechner stärker genutzt wird beim Entpacken, so dass so der Entpackvorgang beschleunigt wird. 
Sagte ja shcon, wenn das halt "normal" ist bzw. "wenns halt so ist", dann ist es halt so ... dann kann man nix machen. 

Das offensichtlichste muss man hier nicht einwerfen, das bringt auch nichts.



-Shorty- schrieb:


> RGB Lüfter hast du aber vergessen.
> 
> 100Gb auf 4 Kernen in 20-25 Minuten ist doch ok.
> 
> ...



Auch nicht wenn du es als Desktop Seite anzeigen lässt?
Aber hier:


> Gehäuse: NZXT Noctis 450 Black Mainboard: ASUS RoG Strix Z270F Gaming GPU:Gainward GTX 1080Ti Phoenix CPU/Kühler: i7 6700K@Scythe Fuma RAM: 16GB DDR4-3200 Corsair Vengeance LPX Netzteil: be quiet! Straight Power 10 CM 500W HDDs: Samsung 830 SSD 120GB+Crucial BX200 SSD 240GB+Samsung m.2 970 Evo TV: Sony KDL-55A1 Sound: Beyerdynamic MMX 300(2017)



Und gut zu wissen dass du die Entpackdauer als normal einschätzt. In meiner grenzenlosen Naivität habe ich irgendwie damit gerechnet, sowas auch mal beschleunigen zu können. Mir dauert das alles viel zu lange. Mir is auch mal aufgefallen, mittlerweile lade ich schneller runter als ich entpacken kann, das kann einfach nicht sein  

Und es ist ja shcön sich supertolle, schnelle Festplatten zu kaufen, aber dass dieser Vorteil so aufgefressen wird von CPU und Ram, wovon beide überhaupt nicht ausgelastet sind. Sorry, aber das verstehe ich nicht so richtig.


PS: Lüfter hab ich auf Vollgas gedreht, seitdem geht das entpacken viel schneller


----------



## Stryke7 (28. August 2019)

Karotte81 schrieb:


> Dir ist aber klar dass ich die Dateien nicht selber packe? Also ist nix mit "anderen Algorithmus nutzen. Gleiches gilt für Kompression.


Nein, das war mir noch nicht klar. Das ist natürlich doof. Dann kannst du tatsächlich nicht viel tun. 


Karotte81 schrieb:


> Linux ist Blödsinn für unerfahrene User, als ob ich wg dem Entpacken von Dateien ein anderes OS nutze.


Ich dachte da eher an eine VM.


----------



## -Shorty- (28. August 2019)

Moment mal, mit einer 120GB SSD + 256GB m2 entpackst du 100 GB von wo nach wo? Wie voll sind die Platten denn jeweils?
Auf welcher SSD läuft dein OS?

PS: Naiv wäre wohl nur zu glauben, es ließe sich irgendwas beschleunigen ohne auch nur an einer Variablen zu drehen.


----------



## fotoman (28. August 2019)

Karotte81 schrieb:


> Das war jetzt aber ein bisschen sinnlos, oder?


Nein. Wenn ich in einem 1GB großen Quelltextarchiv etwas  suchen möchte, dann wird es erst einmal aus dem Netz (oder vom NAS) auf  die Ramdisk geladen, dort entpackt und spätestens am Ende des Tages  automatisch gelöscht.

Das ist eine der im Folgenden erwähten "unnützen" Geldausgaben für die (nur) 64 GB Ram, die sonst gelegentlich mit VMs voll sind.



Karotte81 schrieb:


> Denkst du ernsthaft, ich komprimiere Dateien mit dem vllt höchsten Komprimierungsgrad und wundere mich dann darüber, dass das lange dauert?


Woher sollen wir hier wissen, was Du machst. Ich halte 100 GB ZIP/RAR Archive für so leichtsinnig, dass ich sowas schlicht nicht habe. Kippt nur ein Bit des Archivs, sind mit etwas Pech 100GB futsch. Meine Backups (insg. 30GB) sind auch deshalb auf drei Archive aufgeteilt.



Karotte81 schrieb:


> Ich dachte da eher an praxistaugliche Tipps, die man schnell umsetzen könnte. Dass ich mir einfach die teuerste CPU, den schnellsten Ram und generell den besten Kram kaufen könnte, DAS ist mir dann wohl auch klar.[/quote}Praxistipp: warten, da es offensichtlich kein professioneller EInsatz ist, sonst wäre die neue HW ganz schnell finanziert.
> 
> 
> 
> ...


----------



## Karotte81 (29. August 2019)

Danke für deine ausführliche Antwort Fotoman, das jetzt alles zu zitieren wird aber etwas ausufern(die Krux an den ganzen Zitaten, iwann artet es aus )

Nur soviel, "meine" Software ist nicht meine Software, sondern halt Winrar oder 7zip. Ich kann Dateien, die ich nicht selbst gepackt habe, nicht mit jedem Programm entpacken. Eine .rar Datei die mit WinRar gepackt wurde, kann ich nicht mit 7zip entpacken, da bkeomme ich immer Fehlermeldungen zu sehen. 7zip  kann ich also nicht immer nutzen, aber ich werde mal drauf achten ob dort die Auslastung besser ist. 

Zu den Festplatten(mir fällt grad auf, Signatur ist nicht aktuell) 1. Ist die m2 512GB groß.  2. Ist mein System jetzt auf einer 240GB SSD und die neue SSD ist 500GB groß. 

Natürlich kaufe ich mir Festplatten nicht, um schneller zu entpacken. Sondern um schneller zu kopieren/schnellere Ladezeiten, etc   Das Entpacken ist da eher ein Nebeneffekt, wo ich gehofft habe, dass der auch eintritt. Mag ein Denkfehler gewesen sein, denn wenn sowieso CPU/RAM limitieren, nützt ja auch die schnellste Festplatte nichts. Dann ist natürlich auch klar, dass es keinen großen Unterschied macht auf welcher Festplatte ich entpacke.
Bei dem genannten 100GB Beispiel war es die m2, die komplett leer war. 

Bzgl der Tests, nein, das ist natürlich gar nicht offensichtlich. Ram Disk sagt mir gar nichts, ich weiß auch mit deinem /dev/null Befehl nichts anzufangen(müsste ich googlen), aber das ist ja auch nichts offensichtliches. Offensichtlich sind Dinge, die selbstverständlich sind. So wie die Tatsache ,dass wenn ich hier auf diesem Board frage, wie man xyz beschleunigen kann, es natürlich logisch/offensichtlich ist, sich bessere Hardware zu kaufen. Ramdisk und iwelche Befehle, das ist nicht offensichtlich, weil das Kenntnisse erfordert, die schon etwas tiefer gehen. Daher finde ich deine spitzzüngige Bemerkung ziemlich fehl am Platz, denn du weißt auch, dass sowas nicht offensichtlich ist. Du kannst solche Kenntnisse nicht vorraussetzen. Und wenn ein paar Beiträge vorher schon gesagt wird, dass es in meinem Fall nicht richtig zu testen ist, was denkst du, was ich dann mache? Das hat nix mit zu offensichtlich zu tun. Wenn du vo netwas keine Ahnung hast, und jmd anderes sagt, "man könne dies u jenes mal testen", im gleichen Atemzug aber sagt, dass es bei mir wenig Sinn macht, fängst du dann an dich damit zu beschäftigen? ^^ Wohl kaum. 

Und wenn es doch Sinn macht, und man als anderer User merkt, mein Gegenüber kennt das nicht, dann erkläre ich es ihm wenigstens, damit er das auch mal testen kann. Deine Testergebnisse sind interessant, ich würde es auch testen, wenn ich weiß, wie. 

Aber das hast du sicherlich nur nicht bedacht. 

Und wenn man sich mal klar durchlesen würde, was ich genau gefragt habe, würde man erkennen dass es gar nicht darum ging, das Offensichtliche zu besprechen, sondern nur mal zu schauen, ob das aktuelle System irgendwo den Entpackvorgang ausbremst, ob man durch Konfigurationseinstellungen etwas beschleunigen kann und vllt etwas mehr Verständnis dafür bekommen, wie das entpacken genau funktioniert. Ich finde nicht, dass das unklar beschrieben war, man muss sich halt nur die Zeit nehmen, mal mehr als drei Zeilen durchzulesen, dann hätte man das eigentlich verstehen müssen.



> Führe ich ein paar Konfigänderungen an Windows 10 1903 durch...



Verrätst du den Unwissenden auf dieser Welt auch was du änderst ...? ^^ 



> PS: Naiv wäre wohl nur zu glauben, es ließe sich irgendwas beschleunigen ohne auch nur an einer Variablen zu drehen.



Das hat aber auch niemand behauptet oder geschrieben. Vllt doch mal einen größeren Bildschirm benutzen?


----------



## Karotte81 (29. August 2019)

doppelpost -,-


----------

