Dauert das Herunterladen und / oder Importieren von 5 GB JPEG-Bildern genauso lange wie der Import von 5 GB normalem Text?


39

Ich frage mich nur, da ich gerade alle meine Bilder von einer CD importiere, die mein Vater für mich gebrannt hat. Ich war neugierig, ob 5 GB Bilder bei solchen Übertragungen genauso viel Zeit in Anspruch nahmen wie 5 GB Text. Da mit den verschiedenen Dateiformaten möglicherweise ein Overhead verbunden ist, selbst wenn sie kumulativ die gleiche Größe haben ...

edit: es ist eigentlich keine CD-ROM sondern eine DVD-R


11
5 Gig ist 5 Gig, es sei denn, es ist nicht.
Xavierjazz

2
Kann nicht damit streiten ...
Thomas Padron-McCarthy

35
Was ist schwerer: eine Tonne Steine ​​oder eine Tonne Federn?
Graham Borland

1
Sehen Sie sich meine Antwort (und die anderen guten, die verschiedene Faktoren hervorheben) an, bevor Sie dies als offensichtlich schlechte Frage abtun. 5 GB mögen 5 GB sein, aber die Effizienz der Pipe, über die die Daten übertragen werden, macht einen Unterschied.
David Stratton

1
@ Abraham: Was ist schwerer, ein Pfund Federn oder ein Pfund Gold? (Antwort)
BlueRaja - Danny Pflughoeft

Antworten:


75

Die Antwort lautet "es kommt darauf an". Kommt darauf an, was du mit "Download" meinst.

Wenn Sie von einer Website herunterladen, komprimieren einige Websites Dateien automatisch "on the fly" und Text wird sehr gut komprimiert, während JPEG bereits komprimiert ist, sodass es überhaupt nicht komprimiert wird. In diesem Fall wird es einen großen Unterschied geben.

Wenn Sie nur einen Kopierbefehl zum Kopieren von Dateien von einem Computer auf einen anderen verwenden, gibt es keinen Unterschied. Wenn Sie jedoch ein spezielles Tool verwenden, hängt dies wiederum davon ab, ob dieses Tool die automatische Komprimierung verwendet oder nicht. Der einzige Unterschied zwischen JPEG und Text ist die Möglichkeit, die Dateien zu komprimieren.

Es gibt keinen Unterschied hinsichtlich des mit der Dateiübertragung verbundenen Overheads, unabhängig davon, um welche Datei es sich handelt.


29
Wenn bei einer Kopie die Gesamtgröße gleich ist, hat die Anzahl der Dateien mit größerer Wahrscheinlichkeit Auswirkungen, da beim Übertragen der Datei- / Ordner-Metadaten ein Mehraufwand entsteht.
Chris Nava

2
@ chris-nava: Ja, das ist sehr wahr. Ich habe nur Dateien der gleichen Größe betrachtet, aber Sie haben Recht, auf diese Nuance hinzuweisen.
haimg

2
@DarkTemplar: Enthält die Metadaten. Fast immer. Normalerweise ist die Menge der Metadaten, die "außerhalb" der Datei gespeichert werden, ziemlich begrenzt: Dateiname, Berechtigungen und einige Zugriffszeiten. Viele Dateisysteme haben die Option , beliebige (auch große) Metadaten "außerhalb" der Datei zu speichern, was jedoch selten verwendet wird.
Joachim Sauer

4
Der Übertragungsmechanismus könnte auch eine Verzögerungsquelle sein. Beispielsweise ist SMB (Windows File Sharing) beim Übertragen einer großen Anzahl kleiner Dateien SCHLECHT, während NFS oder FTP für denselben Dateisatz viel schneller sind.
Chris Nava

4
Ich bin überrascht, dass niemand die Möglichkeit erwähnt hat, dass ein Virenschutzprogramm einen erheblichen Mehraufwand verursacht. Viele Antiviren-Anwendungen durchsuchen JPEG-Dateien nach Viren und ignorieren Textdokumente. Dies könnte definitiv dazu beitragen, dass es darauf ankommt.
Scott Rippey

17

Bei 5 GB Bildern sprechen Sie wahrscheinlich von ein paar tausend Dateien mit einer vernünftigen Größe, z. B. 3 MB und mehr. Wenn Sie 5 GB Textdateien heruntergeladen haben, würden Sie normalerweise erwarten, dass jede Datei viel kleiner ist. Sie haben es also wahrscheinlich mit einer Größenordnung von zwei zusätzlichen Dateien zu tun (Hunderttausende oder Millionen von Dateien).

Das Kopieren vieler kleiner Dateien dauert länger als das Kopieren derselben Datenmenge in größeren Dateien. Das Erstellen jeder einzelnen Datei ist mit einem angemessenen Aufwand verbunden.

Wahrscheinlich nicht genug, um einen großen Unterschied zu bewirken, aber dennoch einen Unterschied.


3
Ich denke, das kann einen großen Unterschied machen. Das Kopieren von 100 30-KB-Textdateien kann definitiv länger dauern als das Kopieren einer 3-MB-Datei, je nachdem, wohin und von wo Sie kopieren.
Steven Noto

+1 Um das eigentliche Problem hier anzusprechen. Mit Abstand die beste Antwort.
artistoex

12

Das "Es hängt davon ab" in ftp steckt in den feinen Details.

FTP-Binärmodus nur eine direkte Übertragung und wird die Zeit dauern, die es für 5 GB dauert.

Wenn Sie als FTP-Textübertragung von Windows zu Linux wechseln (für überraschend einfachen Text), ändert FTP tatsächlich die Zeilenenden von / r / n nach / n und umgekehrt. Das Ersetzen von Streams ist wahrscheinlich mit einem geringen Mehraufwand verbunden, aber mit 5 GB Text müssen Sie weniger Daten auf die Festplatte schreiben, wenn Sie ein Zeichen pro Zeile ablegen, und mehr Daten, wenn Sie ein Zeichen hinzufügen pro Zeile.

Also, ist es 5 GB unter Linux? oder Windows?

Genug Pedanterie für eine Nacht, ins Bett gehen!


Wie sind wir zu FTP gekommen? Das OP scheint vom DVD-Laufwerk auf ein lokales Laufwerk zu kopieren.
andynormancx

Aus dem Titel. Es war spät in der Nacht und ich beantwortete die Frage, nicht den Absatz darunter. Wie das am höchsten gewählte Plakat in seinen ersten Absätzen. Jetzt zum Kopieren von einem Medium auf ein anderes ...
Fiasco Labs

3

Mit Dateien selbst ist kein Overhead verbunden, aber einige Speicher- / Übertragungsfunktionen unterstützen die automatische Komprimierung. Dies kann zu einem Unterschied führen.

Beim Kopieren von DVD auf ein nicht komprimiertes Laufwerk besteht kein Unterschied. Beim Kopieren auf ein komprimiertes NTFS-Laufwerk nimmt der Text weniger Platz ein als JPEGs.

Beim Herunterladen von einem HTTP-Server, der Komprimierung verwendet, dauert das Herunterladen von Text weniger lange. Wenn der Server jedoch keine Komprimierung verwendet, gibt es keinen Unterschied.

Apropos Overhead: Eine Million kleiner Dateien mit einer Gesamtgröße von 5 GB benötigen mehr [tatsächlichen] Speicherplatz und in der Regel mehr Zeit zum Kopieren als eine einzelne 5-GB-Datei, da in diesen 5 GB nicht der zum Speichern von Dateinamen, Datumsangaben und anderen Metadaten erforderliche Speicherplatz enthalten ist .


3

Dies soll eine Ergänzung zu den anderen Antworten sein, die sich mit Komprimierung usw. als Faktoren befassen, die die Effizienz und die Download-Zeit beeinflussen.

Ein Punkt, der noch nicht erwähnt wurde, ist die Paketeffizienz . Ich bezweifle, dass die meisten Menschen überhaupt darauf gestoßen sind. Hier ein paar Hintergrundinformationen.

Bevor wir uns an die Nutzung von Webdiensten wagten, wollten wir den Unterschied in der Effizienz zwischen deren Nutzung und der Nutzung einer "Standard" -Datenbankverbindung (z. B. OleDb, System.Data.SqlClient, JDBC usw.) kennen. Wir ließen von unserem Guru Paket-Sniffer einrichten, um die Datenströme über das Netzwerk zu verfolgen und den Unterschied festzustellen.

Wir haben erwartet, dass die Verwendung von Webdiensten aufgrund des Binärformats der anderen Verbindungstypen und des zusätzlichen Overheads der zur Beschreibung der Daten verwendeten XML-Tags weniger effizient ist.

Was wir fanden, war, dass die Webdienste in vielen Fällen effizienter waren, zumindest in unserem Netzwerk. Der Unterschied bestand darin, dass beim Übertragen von Binärdaten einige der Bytes in den Paketen leer waren, aber beim Senden von Textdaten die Pakete effizienter verwendet wurden.

Wir fanden dies interessant und versuchten es beim Übertragen verschiedener Arten von Dateien. Dabei stellte sich heraus, dass Klartext, der über das Netzwerk übertragen wurde, in der Regel immer 100% der in jedem Paket verfügbaren Bits verwendete, wobei bei binären Übertragungen häufig nicht verwendete Bits vorhanden waren. Warum das so ist, konnte ich Ihnen nicht sagen, aber mehrere Experimente haben dies bestätigt.

Einige Kommentare zu der Frage schienen dies als offensichtlich fehlerhafte Frage abzulehnen, aber es ist wirklich nicht so. Auch wenn die Datenmenge gleich bleibt, ist die Effizienz der Pipe von Bedeutung.

Weil ich nicht widerstehen kann, Analogien zu ziehen, die ein Nicht-IT-Mitarbeiter verstehen würde:

Ein einzelnes Regal in einer Tiefkühltruhe in einem Lebensmittelgeschäft bietet x Platz. Sie können jedoch mehr Gallonen Eis auf ein Regal stellen, wenn die Behälter quadratisch sind, als wenn sie rund sind, da durch die Verwendung von round Platz verschwendet wird Behälter. Obwohl unsere Tests zunächst nicht intuitiv waren, haben sie uns gezeigt, was jeder Lebensmittelhändler uns hätte sagen können.


2
Um was handelte es sich bei der Datenbank? Verschiedene RDBMS sind mehr oder weniger "netzwerkeffizient" als andere. Sie haben vom Verbindungsaufbau oder nur den Datensatzdaten gemessen? Ich bin sehr neugierig.
Fabricio Araujo

1

Traditionelle Weisheit besagt, dass 5 GB 5 GB sind. Es gibt jedoch einige Szenarien, in denen sich diese beiden nicht ähneln. Dies hat mit der unterschiedlichen Struktur der Dateien zu tun.

Zunächst werden JPEGs komprimiert. Um das Bild anzuzeigen, muss die Datei zunächst dekomprimiert werden, und für die überwiegende Mehrheit dieser Bilder muss die gesamte Datei vorhanden sein. Es gibt progressive JPEGs, die beim Laden ein iterativ schärferes Bild liefern. In Zeiten, in denen DSL- und andere Hochgeschwindigkeitsverbindungen weit verbreitet sind, werden sie jedoch kaum noch verwendet. Text hingegen ist mehr oder weniger streambar; Sobald Sie ein Byte haben (oder zwei oder vier, abhängig von der verwendeten UTF-Codierung), können Sie dieses Zeichen anzeigen. Selbst die ältesten Datenübertragungsmechanismen können Text schneller laden, als Sie ihn lesen können. Ein JPEG mit 5 GB würde also länger brauchen, um etwas anderes als eine Textdatei mit 5 GB anzuzeigen.

Zweitens funktionieren JPEGs, auch weil sie komprimiert sind, nicht gut mit Browsern oder Dateiübertragungsprogrammen / -protokollen, die große Datenmengen vor der Übertragung komprimieren. Sie können dies sehen, indem Sie eine ZIP-Datei zippen. Wenn der zweite ZIP-Vorgang nicht für eine stärkere Komprimierung (Verlangsamung) konfiguriert wurde, werden Sie keinen großen Größenunterschied feststellen. Dies bedeutet, dass bei Verwendung eines dieser Tools 5 GB nicht 5 GB sind. Die JPEGs werden immer noch ungefähr 5 GB groß sein, aber der Text kann komprimiert werden, möglicherweise auf 1 GB oder weniger. Wenn Sie 5 GB Bitmap-Dateien mit 5 GB Klartext vergleichen würden, wäre der Vergleich viel genauer.

Das einfache Verschieben von 5 GB Dateien von einem Computer auf einen anderen über NTP, FTP oder HTTP ohne Komprimierungs- oder "Doanload-Booster" -Mechanismus dauert insgesamt ungefähr genauso lange. Jeder Unterschied ist das Ergebnis eines unterschiedlichen Netzwerkverkehrs in einer bestimmten Sekunde während jeder Übertragung.


Ich habe noch nie von interleaved JPG gehört. Verschmelzen Sie progressives JPG mit verschachteltem GIF / PNG?
flauschiger

Die "Progressive JPEG" -Variante ist ein Interlaced-Format, ähnlich wie Interlaced-GIF / PNG. Der Begriff "progressiv" für JPEGs verwirrt IMO aufgrund bekannter Begriffe wie "Progressive Scan", "720p (progressiv)" und "1080p". Diese Ausdrücke bedeuten alle, dass ein ganzer Frame in einem Durchgang anstatt in zwei Interlaced-Durchgängen in voller Auflösung gezeichnet wird. Dies ist das genaue Gegenteil des "progressiven" JPEG-Anzeigeverhaltens.
KeithS

1
Aber so funktioniert progressives JPEG nicht. Es ist kein Interlaced- / Interleaved-Format wie GIF oder PNG (oder DVD-Video), sondern eine iterative Verfeinerung von DCT-Blöcken. Ein laufendes progressives JPEG hat eine vollständige Pixelabdeckung - es ist nur eine niedrigere Bitrate. JPEG befasst sich auch nicht mit Scanlines wie GIF oder PNG, sondern mit ihnen als Sammlung quadratischer Pixelgruppen.
flauschiger

Tomate, Tomahto. Das Bild wird ursprünglich unter Verwendung einer Teilmenge der vollständigen Bilddaten angezeigt, die zu einem frühen Zeitpunkt eingehen, und dann mit dem Rest verfeinert. Das war mein Punkt. Unabhängig davon, ob es sich um Linien oder Blöcke handelt, handelt es sich im Gegensatz zu einem einmaligen Ladevorgang um einen Ladevorgang mit mehreren Durchgängen.
KeithS

Es ist nicht nur ein kleiner terminologischer Unterschied, wie Sie vermuten, sondern es wird ohne guten Grund zu einem Ziegelmauer-Argument. Ich habe nur versucht, eine kleine Änderung für Sie vorzuschlagen, damit Sie sie beantworten können, und nicht, um in ein Pissing Match zu geraten.
flauschiger

0

5 GB von einem optischen Laufwerk sollten gleich sein - wenn JPG oder Text. Über das Netz übertragen, erinnere ich mich an die Zeiten von Modems, die je nach Hardware eine eingebaute Komprimierung hatten, so dass ein bereits komprimierter 5 GB JPG nicht weiter komprimiert würde, sondern ein Text von 5 GB normalerweise viel Potenzial hätte Kompression.

Warum wird dies nicht für Festplatten verwendet? Vielleicht würden Sie zu viel Logik auf der Festplatte benötigen, zu anfällig für die Komprimierung, die die Festplatte zu stark erwärmt, und zu einfach, um Daten explizit zu komprimieren, wenn Sie dies wünschen? Vielleicht gibt es für einige Laufwerke?

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.