Performance-Steigerung durch komprimieren von Dateien auf der Festplatte

T

Tikonteroga

Gast
Hallo,

in den Betriebssystemen Windows 2000, Windows XP, Windows Vista und Windows 7 unterstützt der Windows Explorer das Komprimieren der Daten auf der Festplatte. Dieses Feature wird jedoch von den meisten Nutzern nicht verwendet, da es den Ruf hat, die Performance des Rechners negativ zu beinflussen.

Da man bei den Festplatten im Vergleich zu den CPUs kaum Performance-Steigerungen erreichen konnte, würde mich mal interessieren, ob es sich inzwischen lohnen könnte dieses Feature zu aktivieren und sich dies, eine sehr schnelle CPU vorrausgesetzt, inzwischen positiv auf die Performance des Rechners auswirken könnte.

Deswegen würde ich sehr gerne ma eine Diskussion zu diesem Thema anstoßen. Vielleicht steckt hier ja einiges an Potential.

Eventuelle lässt sich ja auch die im Windows Explorer eingebaute Komprimierung des Windows Explorers durch das auf mehrere Cores optimierte 7-Zip ersetzen.

Vielleicht hat ja jemand mit einer schellen CPU (Core 2, Phenom II, Core i5, Core i7) mal Lust ein Bisschen rumzuprobieren.

Gruß

Tikonteroga
 
Das Komprimieren der Dateien ist ein Feature aus den Anfängen der Festplattenzeit und diente lediglich dazu den begrenzten Platz besser zu nutzen. Das sollte, war und wird nie die Performance steigern können was ja logisch ist. Denn wenn du so eine Datei verwenden willst, muss diese ja erst auf der Platte ausgelesen, entpackt und wieder neu eingelesen werden. Wie soll das schneller sein?
Dieses Feature hat nicht nur den "Ruf" die Performance zu verlangsamen, sonder verlangsamt die Performance in jedem Fall. Ein bisschen logisches Denken und mal kommt selbst drauf.
 
Ohne Komprimierung:

Datei wird angefordert -> Datei wird gelesen -> Datei steht zur Verfügung.

Mit Komprimierung:

Datei wird angefordert -> Datei wird gelesen -> Datei wird entpackt (Kostet Zeit und Systemresourcen) -> Datei steht zur Verfügung.

Beim schreiben ists praktisch identisch nur das halt delay beim Schreiben passiert.

Wenn man sich das mal etwas genau überlegt kommt man doch auch von selbst recht schnell auf den Trichter das hier keine Performance gesteigert werden kann.
 
Humptidumpti schrieb:
Ohne Komprimierung:

Datei wird angefordert -> Datei wird gelesen -> Datei steht zur Verfügung.

Mit Komprimierung:

Datei wird angefordert -> Datei wird gelesen -> Datei wird entpackt (Kostet Zeit und Systemresourcen) -> Datei steht zur Verfügung.

Also ich sehe es halt so, dass Festplatten in Benchmarks zwar Lesegeschwindigkeiten von 70-100 MB pro Sekunde erreichen. In der Praxis sind es aber auf sehr oft auch mal nur 15 MB pro Sekunde.

Das heisst eine Festplatte benötigt für das Einlesen von 45 MB eine Zeit von 3 Sekunden. Wenn die Daten durch die Komprimierung nur eine größe von 30 MB haben, dann dauert das Einlesen nur 2 Sekunden. Jetzt ist halt die Frage wie lange eine CPU benötigt um die 30 MB Daten zu dekomprimieren. Eine CPU kann ja abhängig von der Architektur pro 1 MHz eine Anzahl von 1000000 * x Operationen durchführen und DDR2-800 Ram hat eine Bandbreite von bis zu 6400 MB pro Sekunde bzw. 12800 MB pro Sekunden. Es könnte sich bei einem Quad Core, den ihr hier ja alle empfehlt durchaus lohnen ...
 
Ganze einfach und schlicht gesagt, du siehst es falsch.

Wie kommst du auf die 15MB/sec? Mal überlegt das beim starten von kleinen Programmen eventuell gar nicht die Festplatte bremst?
 
Eon-Deon schrieb:
Das Komprimieren der Dateien ist ein Feature aus den Anfängen der Festplattenzeit und diente lediglich dazu den begrenzten Platz besser zu nutzen. Das sollte, war und wird nie die Performance steigern können was ja logisch ist. Denn wenn du so eine Datei verwenden willst, muss diese ja erst auf der Platte ausgelesen, entpackt und wieder neu eingelesen werden. Wie soll das schneller sein?
Dieses Feature hat nicht nur den "Ruf" die Performance zu verlangsamen, sonder verlangsamt die Performance in jedem Fall. Ein bisschen logisches Denken und mal kommt selbst drauf.

Warum müssen die Dateien wieder neu eingelesen werden ?
 
Die Daten werden beim entpacken wieder auf die Platte geschrieben bevor sie endgültig gelesen werden. Sie landen in der Zeit üblicherweise im Temp Ordner.
 
Bist du dir da sicher, dass wenn man in den Dateieigenschaften einer Datei das Attribut Komprimieren auf "Enabled" setzt, dass dann die Datei nach dem dekomprimieren im Temp Ordner zwischengespeichert wird und dann erst tatsächlich gelesen wird ?
 
Ziemlich sicher, ja. Und selbst wenn das nicht pssieren würde, wäre die Komprimierung langsamer. Ich frage mich ernsthaft wie du auf die Idee das es schneller sein könnte kommst?
 
Eon-Deon schrieb:
Ganze einfach und schlicht gesagt, du siehst es falsch.

Wie kommst du auf die 15MB/sec? Mal überlegt das beim starten von kleinen Programmen eventuell gar nicht die Festplatte bremst?

weil es so ist ;)

kleine datei wird geschrieben -> repositionierung des kopfes -> kleine datei wird geschrieben -> repositionierung des kopfes -> kleine datei wird geschrieben -> repositionierung des kopfes -> kleine datei wird geschrieben -> repositionierung des kopfes -> kleine datei wird geschrieben -> repositionierung des kopfes -> kleine datei wird geschrieben -> repositionierung des kopfes

das kostet im endeffekt massivst zeit und mindert die performance...
 
Abwegig ist das Komprimieren zur Geschwindigkeitssteigerung nicht. Apple setzt bei Snow Leopard genau auf dieses Verfahren mit der Begründung, dass Festplatten eben der begrenzende Faktor bei heutigen Rechnern sind.

Echte Vorteile wird man damit aber nur bei sehr gut komprimierbaren Dateien erzielen. Zudem stellt sich die Frage, wie man das automatisiert erledigen will. Der Zugriff auf Container müsste manuell erfolgen und das ist der verzögernde Aspekt bei der Sache.
 
Eon-Deon schrieb:
Ziemlich sicher, ja. Und selbst wenn das nicht pssieren würde, wäre die Komprimierung langsamer. Ich frage mich ernsthaft wie du auf die Idee das es schneller sein könnte kommst?

Hier mal meine Version des Vergleichs, der oben gemacht wurde.

---------------------------

Ohne Komprimierung:

1. Lesen der nicht komprimierten Daten in (t) Sekunden.

---------------------------

Mit Komprimierung:

1. Lesen der komprimierten Daten in (t-n) Sekunden.
2. De-komprimierung der Daten in (m) Sekunden

---------------------------

Und mir ging es eben um die Frage, welcher Wert größer ist. Entweder n oder m ...

Wobei mein Vorredner recht hat. Die meisten Dateien sind bereits in einem Datei-Format gespeichert, dass eine Komprimierung verwendet. Da brindgt dann die Komprimierung des Dateisystems in der Regel nicht mehr viel.
 
also wenn die komprimierung auf dateisystem-ebene geschieht und die dekomprimierung komplett im ram, gepaart mit einem schnellen (aber weniger komprimierenden) algorithmus, dann kann die komprimierung bei komprimierbarem content wirklich etwas bringen. vor allem erwähnt seien hier die unzähligen kleinen dateien eines betriebssystems (wohl vor allem noch bei linux), die ohne komprimierung unnötig viele blöcke einnehmen, was widerum die kopfbewegung erhöht. wahrscheinlich hat unser ober-linux-guru-schrauber "freak01" nicht ganz unrecht damit sein dateisystem mit komprimierung laufen zu lassen ;) er wird es sicher getestet haben, nur ob es bei windows auch was bringt bleibt zu testen.
 
Ich habe es so gelernt, dass es komrimiert schneller geht.
Habe es aber nie ausprobiert, weil ich Windows nicht traue und meine Dateien im Original auf der Platte haben will.

Ich denke, es muss sich mal jemand opfern und das testen.
Schlage vor: Der Thread Ersteller macht das, weil er ja auch damit angefangen hat.

Gruss Mikel

Ps.: Demokratie ist eine feine Sache!
 
Also gut, ich überlege mit mal einen Testfall. Falls ihr vorschläge habt, gerne her damit.
 
Man könnte eine komprimierte 1-2 GB Partition erstellen und dort Musik oder Video konvertieren.
Das selbe dann halt auf der nicht komprimierten Partition.
 
Hallo,

naja Musik und Videos sind in der Regel durch das MPEG Format bereits soweit komprimiert wie es ohne den Verlust von Informationen möglich ist.

Meine Ideen bist jetzt belaufen sich darauf, die Partition mit Windows, Programme, Dokumente und Einstellungen zu komprimieren und dann z. B. mal nen Virenscanner drüber laufen zu lassen.

Gruß

Tikonteroga
 
Ich schreib ja konvertieren und nicht komprimieren.
Man kann ja eine Musik CD auf die Festplatte kopieren und dort in MP3 umwandeln.
Oder ein Video in eine andere grösse konvertieren.

Gruss Mikel.
 
Zurück
Oben