Ich habe 20,3 Gig von Dateien und Ordnern mit mehr als 100.000 Elementen. Ich habe alle diese Dateien in einem Verzeichnis von Windows 10 dupliziert und es dauerte für mich unerträgliche 3 Stunden, sie zu kopieren. Erledigt.
Neulich habe ich unter Linux Fedora 24 gebootet, den gleichen Ordner und die gleiche Datei kopiert! Es dauerte nur 5 Minuten, um es am selben Ort, aber in einem anderen Verzeichnis zu duplizieren.
Warum ist Linux so schnell? Und Windows ist akribisch langsam?
Es gibt hier eine ähnliche Frage
Ist der (Ubuntu) Linux-Dateikopieralgorithmus besser als Windows 7?
Die akzeptierte Antwort fehlt jedoch.
linux
windows
performance
Jones G
quelle
quelle
Antworten:
Die Grundlagen gliedern sich in einige Schlüsselkomponenten des Gesamtsystems: das UI-Element (der grafische Teil), den Kernel selbst (was mit der Hardware kommuniziert) und das Format, in dem die Daten gespeichert werden (dh das Dateisystem) ).
Das Zurückgehen
NTFS
ist seit einiger Zeit das De-Facto für Windows, während das De-Facto für die wichtigsten Linux-Varianten dasext
Dateisystem ist. Das NTFS-Dateisystem selbst hat sich seit Windows XP (2001) nicht geändert. Viele der vorhandenen Funktionen (z. B. Verkleinern / Heilen von Partitionen, transaktionales NTFS usw.) sind Funktionen des Betriebssystems (Windows Vista / 7/8/10). und nicht NTFS selbst. Dasext
Dateisystem hatte seine letzte stabile Hauptversion (ext4
) im Jahr 2008. Da das Dateisystem selbst bestimmt, wie und wo auf Dateien zugegriffen wird, bestehtext4
die Möglichkeit, dass Sie eine Verbesserung der Geschwindigkeit gegenüber NTFS feststellen. Beachten Sie jedoch, dass Sie bei der Verwendungext2
möglicherweise feststellen, dass die Geschwindigkeit vergleichbar ist.Es könnte auch sein, dass eine Partition in kleineren Blöcken als die andere formatiert ist. Die Standardeinstellung für die meisten Systeme ist eine
4096 byte
1 , 2 Clustergröße, aber wenn Sie Ihre formatierteext4
Partition etwas wie16k
3 dann jeder Lese auf demext4
System würde die Daten gegenüber dem NTFS - System erhalten 4x (das könnte die Dateien bedeuten 4x je nachdem , was gespeichert wo / wie und wie groß usw.). Die Fragmentierung der Dateien kann auch eine Rolle bei der Geschwindigkeit spielen. NTFS behandelt die Dateifragmentierung ganz anders als dasext
Dateisystem. Bei mehr als 100.000 Dateien besteht eine gute Chance, dass eine gewisse Fragmentierung auftritt.Die nächste Komponente ist der Kernel selbst (nicht die Benutzeroberfläche, sondern der Code, der tatsächlich mit der Hardware kommuniziert, das wahre Betriebssystem). Hier gibt es ehrlich gesagt keinen großen Unterschied. Beide Kernel können so konfiguriert werden, dass sie bestimmte Aufgaben ausführen, z. B. das Zwischenspeichern / Puffern von Datenträgern, um das Lesen und das wahrgenommene Schreiben zu beschleunigen. Zum Beispiel kann das Cachen die Geschwindigkeit des Kopierens / Speicherns massiv erhöhen. Wenn Sie jedoch während des Cacheschreibens die Energie verlieren (oder das USB-Laufwerk herausziehen), verlieren Sie alle Daten, die nicht tatsächlich auf die Festplatte geschrieben wurden, und möglicherweise sogar beschädigte Daten, die bereits geschrieben wurden auf die Festplatte.
Kopieren Sie beispielsweise viele Dateien auf ein FAT-formatiertes USB-Laufwerk in Windows und Linux. Unter Windows kann es 10 Minuten dauern, unter Linux 10 Sekunden. Entfernen Sie das Laufwerk sofort nach dem Kopieren der Dateien sicher, indem Sie es auswerfen. Unter Windows wird es sofort aus dem System entfernt und Sie können das Laufwerk aus dem USB-Anschluss entfernen. Unter Linux kann es 10 Minuten dauern, bis Sie das Laufwerk tatsächlich entfernen können. Dies liegt an der Zwischenspeicherung (dh Linux hat die Dateien in den Arbeitsspeicher geschrieben und sie dann im Hintergrund auf die Festplatte geschrieben, während das zwischenspeicherlose Windows die Dateien sofort auf die Festplatte schrieb).
Das letzte ist die Benutzeroberfläche (der grafische Teil, mit dem der Benutzer interagiert). Die Benutzeroberfläche ist möglicherweise ein hübsches Fenster mit einigen coolen Diagrammen und hübschen Balken, die mir eine allgemeine Vorstellung davon geben, wie viele Dateien kopiert werden und wie groß alles ist und wie lange es dauern könnte. die UI könnte auch eine Konsole sein, die nicht gedruckt werden alle Informationen außer wenn es fertig ist . Wenn die Benutzeroberfläche zuerst alle Ordner und Dateien durchsuchen muss, um zu bestimmen, wie viele Dateien es gibt, sowie deren Größe und eine ungefähre Schätzung, bevor mit dem Kopieren begonnen werden kann, kann der Kopiervorgang aufgrund der erforderlichen Benutzeroberfläche länger dauern mach das. Auch dies gilt unabhängig vom Betriebssystem.
Sie können einige Dinge so konfigurieren, dass sie gleich sind (wie das Zwischenspeichern von Festplatten oder die Clustergröße), aber realistisch gesehen kommt es einfach darauf an, wie alle Teile miteinander verbunden sind, damit das System funktioniert, und genauer gesagt, wie oft diese Codeteile tatsächlich aktualisiert werden. Das Windows-Betriebssystem hat seit Windows XP einen langen Weg zurückgelegt, aber das Festplattensubsystem ist ein Bereich, in dem das Betriebssystem seit vielen Jahren nicht mehr über alle Versionen hinweg überarbeitet wurde (im Vergleich zum Linux-Ökosystem , in dem es neue FS zu geben scheint) oder Verbesserung eher häufig).
Ich hoffe, das schafft Klarheit.
quelle