Os 5 GB de imagens jpeg levam a mesma quantidade de tempo para baixar e / ou importar os 5 GB de texto sem formatação?

39

Só estou pensando, já que agora estou importando todas as minhas fotos de um CD que meu pai gravou para mim. Fiquei curioso se 5 GB de fotos levavam o mesmo tempo exato que 5 GB de texto ao fazer esse tipo de transferência. Como pode haver 'sobrecarga' associada aos diferentes formatos de arquivo, mesmo se eles tiverem cumulativamente o mesmo tamanho ...

editar: na verdade, não é um CD-ROM, mas um DVD-R

Templário Sombrio
fonte
11
5 GB é 5 GB, a menos que não seja.
Xavierjazz 30/09
2
Não pode argumentar com isso ...
Thomas Padron-McCarthy
35
O que é mais pesado: uma tonelada de tijolos ou uma tonelada de penas?
Graham Borland
11
Veja minha resposta (e as outras boas que destacam fatores diferentes) antes de descartar isso como uma pergunta obviamente ruim. 5 GB podem ser 5 GB, mas a eficiência do canal que os dados trafegam faz a diferença.
David Stratton
11
@ Graham: O que é mais pesado, um quilo de penas ou um quilo de ouro? (resposta)
BlueRaja - Danny Pflughoeft 2/11

Respostas:

75

A resposta é "depende". Depende do que você quer dizer com "download".

Se você estiver baixando de um site, alguns sites compactam automaticamente os arquivos "on the fly", e o texto é compactado muito bem, enquanto o JPEG já está compactado, para que não seja compactado. Nesse caso, haverá uma grande diferença.

Se você estiver apenas usando um comando de cópia para copiar arquivos de um computador para outro, não haverá diferença. No entanto, se você estiver empregando algum tipo de ferramenta especializada, depende novamente se essa ferramenta usa compactação automática ou não. A única diferença entre jpeg e texto é a possibilidade de compactar os arquivos.

Não há diferença na sobrecarga associada à transferência de arquivos, independentemente do arquivo.

haimg
fonte
29
No caso de uma cópia, se o tamanho geral for o mesmo, é mais provável que o número de arquivos tenha impacto, pois há uma sobrecarga na transferência dos metadados do arquivo / pasta.
Chris Nava
2
@ Chris-Nava: Sim, isso é verdade. Eu considerei apenas arquivos do mesmo tamanho, mas você está correto em apontar para essa nuance.
haimg
2
@ DarkTemplar: inclui os metadados. Quase sempre. Normalmente, a quantidade de metadados armazenados "fora" do arquivo é bastante limitada: nome do arquivo, permissões e alguns tempos de acesso. Muitos sistemas de arquivos têm a opção de armazenar metadados arbitrários (até grandes) "fora" do arquivo, mas isso raramente é usado.
Joachim Sauer
4
O mecanismo de transferência também pode ser uma fonte de atraso. Por exemplo, o SMB (compartilhamento de arquivos do Windows) é ruim ao transferir grandes números de arquivos pequenos, enquanto NFS ou FTP são muito mais rápidos para o mesmo conjunto de arquivos.
Chris Nava
4
Estou surpreso que ninguém tenha mencionado a possibilidade de um antivírus adicionar uma sobrecarga significativa. Muitos aplicativos antivírus examinam arquivos JPEG em busca de vírus e ignoram documentos de texto. Isso definitivamente poderia contribuir para o fator que depende .
Scott Rippey
17

Com 5 GB de imagens, é provável que você esteja falando de alguns milhares de arquivos de tamanho razoável, digamos 3 MB + cada. Se você baixou 5 GB de arquivos de texto, normalmente espera que cada arquivo seja muito menor. Portanto, você provavelmente está lidando com uma ordem de magnitude ou dois arquivos extras (centenas de milhares ou milhões de arquivos).

Copiar muitos arquivos pequenos leva mais tempo do que copiar a mesma quantidade de dados em arquivos maiores. Existe uma sobrecarga razoável na criação de cada arquivo individual.

Provavelmente não é suficiente para fazer uma enorme diferença, mas ainda assim.

andynormancx
fonte
3
Eu acho que isso pode fazer uma grande diferença. Copiar cem arquivos de texto de 30K pode levar mais tempo do que copiar um arquivo de 3 MB, dependendo de onde você está copiando.
Steven Noto
+1 Para abordar o problema real aqui. De longe a melhor resposta.
Artistoex
12

O "Depende" no ftp está nos detalhes.

ftp O modo binário é apenas uma transferência direta e levará o tempo necessário para 5 GB.

Se você estiver migrando do Windows para o Linux como uma transferência de texto ftp (surpreendentemente, texto sem formatação), o ftp realmente altera as terminações de linha de / r / n para / ne vice-versa. Provavelmente, há um pouco de sobrecarga na substituição do streaming, mas com 5 GB de texto, você terá menos para gravar no disco, passando de win para lin, ao soltar um caractere por linha, e mais de lin para win, ao adicionar um caractere por linha.

Então, são 5 GB no Linux? ou Windows?

Pedantaria suficiente por uma noite, indo para a cama!

Fiasco Labs
fonte
Como chegamos ao FTP? O OP parece estar copiando da unidade de DVD para uma unidade local?
precisa saber é o seguinte
Do título. Era tarde da noite e eu respondi a pergunta, não o parágrafo abaixo. Assim como o pôster mais votado em seus parágrafos iniciais. Agora para copiar a partir de uma mídia para outra ...
Fiasco Labs
3

Não há sobrecarga associada aos arquivos em si, mas alguns recursos de armazenamento / transferência oferecem suporte à compactação automática e isso pode causar uma diferença.

Ao copiar de DVD para uma unidade não compactada, não há diferença. Ao copiar para uma unidade NTFS compactada, o texto ocupa menos espaço que os JPEGs.

Ao baixar do servidor HTTP que usa compactação, o texto levará menos tempo para fazer o download. Mas se o servidor não usar compactação, não haverá diferença.

Além disso, falando em despesas gerais, um milhão de arquivos pequenos de tamanho total de 5 GB exigirá mais espaço [real] e geralmente mais tempo para copiar do que um único arquivo de 5 GB, porque esses 5 GB não incluem o espaço necessário para armazenar nomes de arquivos, datas e outros metadados .

hamstergene
fonte
3

Isso pretende ser uma adição às outras respostas que tratam da compressão, etc., como fatores que afetam a eficiência e o tempo de download.

Um ponto que ainda não foi mencionado é a eficiência de pacotes . Duvido que a maioria das pessoas tenha se deparado com isso, então aqui está um breve histórico.

Antes de nos aventurarmos no uso de serviços da web, queríamos saber a diferença de eficiência entre usá-los e usar uma conexão de banco de dados mais "padrão" (como OleDb, System.Data.SqlClient, JDBC etc.). Nosso guru colocou os farejadores de pacotes no lugar para rastrear os fluxos de dados na rede para ver a diferença.

Esperávamos que o uso de serviços da Web fosse menos eficiente devido ao formato binário dos outros tipos de conexões e à sobrecarga adicional das tags XML usadas para descrever os dados.

O que descobrimos foi que os serviços da web eram, em muitos casos, MAIS eficientes, pelo menos em nossa rede. A diferença era que, ao transferir dados binários, alguns bytes dos pacotes estavam vazios, mas, ao enviar dados de texto, os pacotes eram usados ​​com mais eficiência.

Achamos isso interessante e o tentamos ao transferir diferentes tipos de arquivos e, via de regra, o texto sem formatação da rede sempre usava 100% dos bits disponíveis em cada pacote, onde as transferências binárias geralmente tinham bits não utilizados. Não sei por que, mas várias experiências comprovaram isso.

Vários comentários sobre a questão pareciam descartar isso como uma pergunta obviamente falha, mas na verdade não é. Embora a quantidade de dados permaneça a mesma, a eficiência do canal também é importante.

Porque não consigo resistir a fazer analogias que uma pessoa que não é de TI entenderia:

Uma única prateleira em um freezer em uma mercearia tem uma quantidade x de espaço, mas você pode colocar mais galões de sorvete em uma prateleira se os contêineres forem quadrados do que você pode ser redondo, por causa do espaço desperdiçado criado pelo uso de redondo containers. Nossos testes, embora contra-intuitivos a princípio, nos diziam o que qualquer vendedor de supermercado poderia nos dizer.

David Stratton
fonte
2
Qual foi o banco de dados envolvido? RDBMS diferentes são mais ou menos "eficientes em rede" do que outros. Você mediu a partir do estabelecimento da conexão ou apenas dos dados do conjunto de dados? Estou muito curiosa.
Fabricio Araujo
1

A sabedoria tradicional diz que 5 GB são 5 GB. No entanto, existem alguns cenários em que esses dois não são iguais; tem a ver com a diferença de como os dados dos arquivos são estruturados.

Primeiro, os JPEGs são compactados. Para visualizar a imagem, o arquivo deve primeiro ser descompactado e, para a esmagadora maioria dessas imagens, você deve ter o arquivo inteiro para fazer isso. Existem JPEGs progressivos que fornecem uma imagem iterativamente mais nítida à medida que são carregados, mas raramente são mais usados ​​em uma época em que DSL e outras conexões de alta velocidade são muito comuns. O texto, por outro lado, é mais ou menos flexível; assim que você tiver um byte (ou dois ou quatro, dependendo da codificação UTF usada), poderá mostrar esse caractere. Até os mecanismos de transferência de dados mais antigos podem carregar texto mais rapidamente do que você pode lê-lo. Portanto, um JPEG de 5 GB demoraria mais tempo para exibir algo do que um arquivo de texto de 5 GB.

Segundo, também porque os JPEGs são compactados, eles não funcionam bem com navegadores ou programas / protocolos de transferência de arquivos que compactam grandes quantidades de dados antes da transmissão. Você pode ver isso ZIPando um arquivo ZIP; a menos que o segundo processo ZIP tenha sido configurado para compactar mais lentamente, você não verá muita diferença de tamanho. Isso significa que, ao usar uma dessas ferramentas, 5 GB não são 5 GB; os JPEGs ainda terão cerca de 5 GB, mas o texto pode ser compactado, talvez até 1 GB ou menos. Se você estivesse comparando 5 GB de arquivos bitmap com 5 GB de texto sem formatação, a comparação seria muito mais próxima.

No entanto, simplesmente mover 5 GB de arquivos de um computador para outro usando NTP, FTP ou HTTP, sem nenhum mecanismo de compactação ou "doanload booster" usado, levará aproximadamente o mesmo tempo; qualquer diferença seria resultado de níveis de tráfego de rede diferentes a qualquer momento durante cada transferência.

KeithS
fonte
Eu nunca ouvi falar de JPG intercalado. Você está confundindo JPG progressivo com GIF / PNG intercalado?
fluffy
A variante "JPEG progressivo" é um formato entrelaçado, semelhante ao GIF / PNG entrelaçado. O termo "progressivo" para JPEGs é confuso para IMO, devido a termos conhecidos como "varredura progressiva", "720p (progressivo)" e "1080p". Todos esses termos indicam que um quadro inteiro é desenhado em resolução completa em uma passagem em vez de em duas passagens entrelaçadas, exatamente o oposto do comportamento de exibição JPEG "progressivo".
KeithS 30/09
11
Mas não é assim que o JPEG progressivo funciona. Não é um formato entrelaçado / intercalado, como GIF ou PNG (ou vídeo em DVD, por sinal), é um refinamento iterativo dos blocos DCT. Um JPEG progressivo em andamento possui cobertura total de pixels - com uma taxa de bits mais baixa. O JPEG também não lida com coisas nas linhas de digitalização, como GIF ou PNG, trata-as como uma coleção de grupos quadrados de pixels.
fluffy
Tomate, tomahto. A imagem é exibida originalmente usando um subconjunto dos dados completos da imagem, que é fornecido mais cedo e depois refinado com o restante. Esse foi o meu ponto. Sejam linhas ou blocos, é um estilo de carregamento com várias passagens, em oposição a uma passagem.
KeithS
Não é apenas uma pequena diferença de terminologia, como você sugere, mas isso está se transformando em um argumento da parede de tijolos sem uma boa razão. Eu só estava tentando sugerir uma edição menor para você responder à sua resposta, não tentando entrar em uma discussão irritada.
macia
0

5 GB de uma unidade óptica devem ser os mesmos - se JPG ou texto. Transferido via rede, lembro-me dos tempos dos modems, que tinham, dependendo do hardware, uma compactação interna, para que um JPG de 5 GB já compactado não fosse mais compactado, mas um texto de 5 GB normalmente teria muito potencial para compressão.

Então, por que isso não é usado para discos rígidos? Talvez você precise de muita lógica no disco rígido, muito vulnerável à compressão aquecendo muito o disco rígido e muito fácil para compactar dados explicitamente, se desejado? Talvez exista para algumas unidades?

Usuário desconhecido
fonte