Se uma tarefa leva 10 horas em um processador de 1GHz, demora 5 horas em um processador de 2Ghz?

12

Se uma tarefa leva 10 horas em um processador de 1GHz, demora 5 horas em um processador de 2Ghz?

Ou estou simplificando demais o problema?

    
por aneuryzm 22.10.2010 / 10:31

4 respostas

20

Como apontado pelas 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 E / S de rede.

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 otimizações provavelmente serão diferentes em um novo modelo de CPU (mesmo que seja da mesma série).

    
por 22.10.2010 / 10:46
8

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

1 ) assumindo que nenhuma outra mudança foi feita no sistema e CPU

    
por 22.10.2010 / 10:37
8

Não. Todo o tempo necessário para que um aplicativo seja executado não depende apenas da velocidade do processador.
Por exemplo:

  • 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 de processos pode ser diferente.
por 22.10.2010 / 10:39
2

Se você fizer, digamos, um programa que calcule números primos e absolutamente nenhum acesso I / O ou acesso à rede, a velocidade ainda não é dupla. Pode ser muito 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 freqüência dupla pode significar velocidade dupla. Isso significa que, se você não salvar nada e não houver nenhum gargalo no cache da CPU.

    
por 22.10.2010 / 12:14