5 GB di immagini jpeg richiedono lo stesso tempo per il download e / o l'importazione di 5 GB di testo normale?


39

Mi chiedo, dato che in questo momento sto importando tutte le mie foto da un CD che mio padre ha masterizzato per me. Ero curioso di sapere se 5 GB di foto richiedevano lo stesso tempo esatto di 5 GB di testo durante questi tipi di trasferimenti. Poiché potrebbe esserci un "sovraccarico" associato ai diversi formati di file anche se hanno cumulativamente le stesse dimensioni ...

modifica: in realtà non è un CD-ROM ma un DVD-R


11
5 concerti sono 5 concerti a meno che non lo siano.
Xavierjazz,

2
Non posso discutere con quello ...
Thomas Padron-McCarthy,

35
Che è più pesante: una tonnellata di mattoni o una tonnellata di piume?
Graham Borland,

1
Vedi la mia risposta (e le altre buone che evidenziano diversi fattori) prima di respingere questa come una domanda ovviamente negativa. 5 GB possono essere 5 GB, ma l'efficienza del tubo che i dati percorrono fa la differenza.
David Stratton,

1
@Graham: qual è più pesante, una libbra di piume o una libbra d'oro? (risposta)
BlueRaja - Danny Pflughoeft,

Risposte:


75

La risposta è, dipende". Dipende da cosa intendi per "download".

Se stai scaricando da un sito web, alcuni siti comprimono automaticamente i file "al volo" e il testo si comprime molto bene, mentre JPEG è già compresso, quindi non lo comprime affatto. In questo caso, ci sarà una grande differenza.

Se stai solo usando un comando di copia per copiare i file da un computer a un altro, allora non ci sarà alcuna differenza. Tuttavia, se stai impiegando un qualche tipo di strumento specializzato, di nuovo, dipende se lo strumento utilizza la compressione automatica o meno. L'unica differenza tra jpeg e text è la possibilità di comprimere i file.

Non vi è alcuna differenza nell'overhead associato al trasferimento di file, indipendentemente dal file.


29
Nel caso di una copia, se le dimensioni complessive sono le stesse , è più probabile che il numero di file abbia un impatto in quanto vi è un sovraccarico nel trasferimento dei metadati di file / cartelle.
Chris Nava,

2
@ chris-nava: Sì, questo è molto vero. Ho preso in considerazione solo file della stessa dimensione, ma è corretto indicare questa sfumatura.
haimg

2
@DarkTemplar: include i metadati. Quasi sempre. Di solito la quantità di metadati memorizzati "all'esterno" del file è piuttosto limitata: nome del file, autorizzazioni e alcuni tempi di accesso. Molti file system hanno un'opzione per memorizzare metadati arbitrari (anche di grandi dimensioni) "esterni" al file, ma che vengono usati raramente.
Joachim Sauer,

4
Il meccanismo di trasferimento potrebbe anche essere una fonte di ritardo. Ad esempio SMB (Condivisione file di Windows) è CATTIVO nel trasferire un gran numero di piccoli file mentre NFS o FTP sono molto più veloci per lo stesso set di file.
Chris Nava,

4
Sono sorpreso che nessuno abbia menzionato la possibilità di aggiungere un antivirus in un sovraccarico significativo. Molte applicazioni antivirus analizzano i file JPEG alla ricerca di virus e ignorano i documenti di testo. Ciò potrebbe sicuramente contribuire al fattore dipende .
Scott Rippey,

17

Con 5 GB di immagini, è probabile che tu stia parlando di alcune migliaia di file di dimensioni ragionevoli, ad esempio 3 MB + ciascuno. Se scarichi 5 GB di file di testo, in genere ti aspetteresti che ogni file sia molto più piccolo. Quindi avresti probabilmente a che fare con un ordine di grandezza o due file extra (centinaia di migliaia o milioni di file).

La copia di molti file di piccole dimensioni richiede più tempo rispetto alla copia della stessa quantità di dati in file più grandi. C'è un ragionevole sovraccarico nella creazione di ogni singolo file.

Probabilmente non abbastanza per fare una differenza enorme, ma comunque una differenza.


3
Penso che questo possa fare una grande differenza. La copia di un centinaio di file di testo da 30K può sicuramente richiedere più tempo rispetto alla copia di un file da 3 MB, a seconda di dove si sta copiando e da.
Steven Noto,

+1 Per affrontare il vero problema qui. Di gran lunga la migliore risposta.
artistoex,

12

"Dipende" in ftp è nei minimi dettagli.

La modalità binaria ftp è solo un trasferimento diretto e richiederà il tempo necessario per 5 GB.

Se stai passando da Windows a Linux come trasferimento di testo ftp (per sorprendentemente, testo semplice), ftp cambia effettivamente le terminazioni di riga da / r / n in / n e viceversa. Probabilmente c'è un piccolo overhead nello streaming sostitutivo, ma con 5 GB di testo, avrai meno da scrivere su disco passando da win a lin man mano che rilasci un carattere per riga e più andando da lin a win quando aggiungi un carattere per riga.

Quindi, sono 5 GB su Linux? o Windows?

Abbastanza pedanteria per una notte, andando a letto!


Come siamo arrivati ​​a FTP? L'OP sembra copiare dall'unità DVD a un'unità locale?
Andynormancx,

Dal titolo 'Era a tarda notte e ho risposto alla domanda, non al paragrafo sottostante. Come ha fatto il poster più votato nei suoi paragrafi iniziali. Ora per copiare da un supporto a un altro ...
Fiasco Labs

3

Non esiste un sovraccarico associato ai file stessi, ma alcune funzionalità di archiviazione / trasferimento supportano la compressione automatica e ciò potrebbe introdurre una differenza.

Quando si copia da DVD su un'unità non compressa, non c'è differenza. Quando si copia su un'unità NTFS compressa, il testo occuperà meno spazio dei JPEG.

Durante il download dal server HTTP che utilizza la compressione, il download del testo richiederà meno tempo. Ma se il server non utilizza la compressione, non ci saranno differenze.

Inoltre, parlando di sovraccarico, un milione di piccoli file di dimensioni totali di 5 GB richiederà più spazio [effettivo] e di solito più tempo per la copia rispetto a un singolo file da 5 GB, perché quel 5 GB non include lo spazio necessario per memorizzare nomi di file, date e altri metadati .


3

Ciò è inteso come un'aggiunta alle altre risposte che affrontano la compressione, ecc. Come fattori che influenzano l'efficienza e il tempo di download.

Un punto che non era ancora stato menzionato è l' efficienza dei pacchetti . Dubito che la maggior parte delle persone si sia persino imbattuta in questo, quindi ecco un breve riassunto.

Prima di avventurarci nell'uso dei servizi Web, volevamo conoscere la differenza di efficienza tra il loro utilizzo e l'utilizzo di una connessione al database più "standard" (come OleDb, System.Data.SqlClient, JDBC, ecc.). Il nostro guru ha messo in atto sniffer di pacchetti per tracciare i flussi di dati attraverso la rete per vedere la differenza.

Ci aspettavamo che l'uso dei servizi Web sarebbe stato meno efficiente a causa del formato binario degli altri tipi di connessioni e del sovraccarico aggiuntivo dei tag XML utilizzati per descrivere i dati.

Quello che abbiamo scoperto è che i servizi web erano, in molti casi PIÙ efficienti, almeno sulla nostra rete. La differenza era che durante il trasferimento di dati binari, alcuni dei byte all'interno dei pacchetti erano vuoti, ma durante l'invio di dati di testo, i pacchetti venivano utilizzati in modo più efficiente.

Abbiamo trovato questo interessante e lo abbiamo provato durante il trasferimento di diversi tipi di file e abbiamo scoperto che, di regola, il testo normale che passava attraverso la rete utilizzava sempre il 100% dei bit disponibili in ciascun pacchetto, dove i trasferimenti binari avevano spesso bit non utilizzati. Perché non è così, non potrei dirtelo, ma diversi esperimenti lo hanno risolto.

Numerosi commenti sulla domanda sembra respingere questa come una domanda ovviamente imperfetta, ma in realtà non lo è. Anche se la quantità di dati rimane la stessa, anche l'efficienza della pipe è importante.

Perché non posso resistere a fare analogie che una persona non IT possa capire:

Una singola mensola in un congelatore in un negozio di alimentari ha una quantità x di spazio, ma puoi mettere più galloni di gelato su uno scaffale se i contenitori sono quadrati di quanto puoi se sono rotondi, a causa dello spazio sprecato creato usando round contenitori. I nostri test, anche se inizialmente non intuitivi, ci hanno detto cosa ci avrebbe detto qualsiasi rivenditore di alimentari.


2
Qual è stato il database coinvolto? RDBMS diversi sono più o meno "efficienti in rete" rispetto ad altri. Hai misurato dalla creazione della connessione o solo dai dati del set di dati? Sono davvero curioso.
Fabricio Araujo,

1

La saggezza tradizionale afferma che 5 GB sono 5 GB. Tuttavia, ci sono alcuni scenari in cui questi due non sono uguali; ha a che fare con una differenza nel modo in cui sono strutturati i dati dei file.

Prima di tutto, i file JPEG sono compressi. Per visualizzare l'immagine, il file deve essere prima non compresso e per la stragrande maggioranza di tali immagini è necessario disporre dell'intero file per farlo. Esistono JPEG progressivi che forniscono un'immagine iterativamente più nitida quando viene caricata, ma raramente vengono più utilizzati in un'epoca in cui DSL e altre connessioni ad alta velocità sono molto comuni. Il testo, d'altra parte, è più o meno streaming; non appena si dispone di un byte (o due o quattro, a seconda della codifica UTF utilizzata), è possibile mostrare quel carattere. Anche i più vecchi meccanismi di trasferimento dei dati possono caricare il testo più velocemente di quanto tu possa leggerlo. Quindi, un JPEG da 5 GB richiederebbe più tempo per essere in grado di visualizzare qualcosa di più di un file di testo da 5 GB.

In secondo luogo, anche perché i file JPEG sono compressi, non funzionano bene con browser o programmi / protocolli di trasferimento file che comprimono grandi quantità di dati prima della trasmissione. Puoi vederlo comprimendo un file ZIP; a meno che il secondo processo ZIP non sia stato configurato per eseguire una maggiore compattazione (rallentandolo), non si noterà molta differenza nelle dimensioni. Ciò significa che quando si utilizza uno di questi strumenti, 5 GB non sono 5 GB; i JPEG saranno ancora circa 5 GB, ma il testo può essere compresso, forse fino a 1 GB o meno. Se si confrontassero 5 GB di file bitmap con 5 GB di testo normale, il confronto sarebbe molto più vicino.

Tuttavia, il semplice spostamento di 5 GB di file da un computer a un altro tramite NTP, FTP o HTTP, senza alcun meccanismo di compressione o "doanload booster" utilizzato, richiederà circa lo stesso tempo in generale; qualsiasi differenza sarebbe il risultato di livelli di traffico di rete diversi in un dato secondo durante ciascun trasferimento.


Non ho mai sentito parlare di JPG interlacciato. Stai combinando JPG progressivo con GIF / PNG interlacciato?
soffice

La variante "Progressive JPEG" è un formato interlacciato molto simile al GIF / PNG interlacciato. Il termine "progressivo" per JPEG confonde IMO, a causa di termini noti come "scansione progressiva", "720p (rogressive)" e "1080p". Questi termini indicano tutti che un intero fotogramma viene disegnato a piena risoluzione in un passaggio anziché in due passaggi interlacciati, l'esatto opposto del comportamento di visualizzazione JPEG "progressivo".
KeithS,

1
Ma non è così che funziona JPEG progressivo. Non è un formato interlacciato / interlacciato come GIF o PNG (o video DVD, del resto), è un raffinamento iterativo di blocchi DCT. Un JPEG progressivo in corso ha una copertura pixel completa: ha un bitrate inferiore. JPEG non si occupa nemmeno di cose in scanline come GIF o PNG, ma le tratta come una raccolta di gruppi quadrati di pixel.
soffice

Pomodoro, tomahto. L'immagine viene originariamente visualizzata utilizzando un sottoinsieme dei dati completi dell'immagine che arriva all'inizio, quindi perfezionata con il resto. Questo era il mio punto. Che si tratti di linee o blocchi, è uno stile di caricamento multi-passaggio invece di un passaggio singolo.
KeithS,

Non è solo una piccola differenza terminologica, come si intende, ma questo si sta trasformando in un argomento a muro di mattoni senza una buona ragione. Stavo solo cercando di suggerirti una modifica minore da apportare alla tua risposta, non provando ad entrare in una partita incazzata.
soffice

0

5 GB da un'unità ottica dovrebbero essere gli stessi, se JPG o testo. Trasferito via rete, ricordo i tempi dei modem, che avevano, a seconda dell'hardware, una compressione integrata, in modo che un JPG da 5 GB già compresso non fosse ulteriormente compresso, ma un testo di 5 GB avrebbe normalmente molto potenziale per compressione.

Quindi perché questo non viene utilizzato per i dischi rigidi? Forse avresti bisogno di troppa logica sul disco rigido, troppo vulnerabile la compressione che riscalda troppo il disco rigido e troppo facile per comprimere i dati in modo esplicito, se lo desideri? Forse esiste per alcune unità?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.