Se uma tarefa leva 10 horas em um processador de 1 GHz, são necessárias 5 horas em um processador de 2 Ghz?


12

Se uma tarefa leva 10 horas em um processador de 1 GHz, são necessárias 5 horas em um processador de 2 Ghz?

Ou estou simplificando demais o problema?

Respostas:


20

Conforme indicado nas outras respostas, mesmo que a CPU funcione 5 vezes mais rápido, nem tudo será 5 vezes mais rápido, porque às vezes o computador gasta tempo não trabalhando com a CPU, mas aguardando outras operações, como disco ou rede. O.

Além disso, as CPUs modernas são bastante complexas internamente e fazem todos os tipos de truques sofisticados (pipelining, previsão de ramificação, execução fora de ordem) para acelerar as coisas. Isso pode funcionar melhor ou não em uma CPU mais rápida, portanto, mesmo para tarefas ligadas à CPU, a aceleração provavelmente não será 5 vezes.

Pode ser menor ou até mais, dependendo da natureza da tarefa e de quão bem ela se alinha às otimizações que a CPU tenta usar. Além disso, essas próprias otimizações provavelmente serão diferentes em um novo modelo de CPU (mesmo que seja da mesma série).


1
+1 para uma explicação muito lúcida de alguns pontos muito sutis.
Shinrai 22/10/10

2
Às vezes, você pode ter mais núcleos que oferecem benchmarks mais altos em tarefas como codificação de vídeo, mas muitas outras tarefas não verão acelerações, a menos que possam utilizar todos os núcleos.
precisa

8

Não, isso é apenas o melhor 1 caso possível. Se sua tarefa exigir, por exemplo, acesso à rede ou ao disco rígido, será um gargalo que você não poderá compensar com uma CPU mais rápida.

1 ) assumindo que nenhuma outra alteração foi feita no sistema e na CPU


8

Não. O tempo necessário para a execução de um aplicativo não depende apenas da velocidade do processador.
Por exemplo:

  • As entradas e saídas de discos dependem da velocidade de rotação dos pratos de disco
  • Leituras de memória, gravações podem ser mais lentas ou mais rápidas, dependendo do cache
  • O agendamento do processo pode ser diferente.

2

Se você cria, digamos, um programa que calcula números primos e absolutamente nenhum acesso de E / S ou de rede é feito, a velocidade ainda não é o dobro. Pode ser bem diferente.

Se for uma CPU da mesma marca, geração, tecnologia, contagem de transistores, conjuntos de instruções e o mesmo tamanho de peças em nanômetros, uma frequência dupla pode significar velocidade dupla. Isso significa que se você não salvar nada e não houver gargalo no cache da CPU.


Você está esquecendo outros elementos, como memória cache, que não dobrarão de velocidade. Afinal, a CPU está executando instruções do cache (no melhor cenário).
harrymc

Não esqueci o cache, li as duas últimas palavras :). O preresquite é que não há gargalo na referida cache, que o cache ainda funciona funciona rápido o suficiente
sinni800
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.