Se un'attività richiede 10 ore su un processore da 1 GHz, sono necessarie 5 ore su un processore da 2 GHz?


12

Se un'attività richiede 10 ore su un processore da 1 GHz, sono necessarie 5 ore su un processore da 2 GHz?

O sto semplificando troppo il problema?

Risposte:


20

Come sottolineato dalle altre risposte, anche se la CPU funziona 5 volte più velocemente, non tutto sarà 5 volte più veloce, perché a volte il computer trascorre il tempo non lavorando con la CPU, ma in attesa di altre operazioni, come il disco o la rete I / O.

Inoltre, le moderne CPU sono abbastanza complesse internamente e fanno tutti i tipi di trucchi fantasiosi (pipeline, previsione dei rami, esecuzione fuori ordine) per accelerare le cose. Questo potrebbe funzionare meglio o meno su una CPU più veloce, quindi anche per le attività legate alla CPU l'accelerazione probabilmente non sarà 5 volte.

Potrebbe essere inferiore o addirittura maggiore, a seconda della natura dell'attività e della sua capacità di allinearsi con le ottimizzazioni che la CPU tenta di utilizzare. Inoltre, queste stesse ottimizzazioni saranno probabilmente diverse in un nuovo modello di CPU (anche se appartiene alla stessa serie).


1
+1 per una spiegazione molto lucida di alcuni punti molto sottili.
Shinrai,

2
A volte potresti avere più core che offrono benchmark più alti su attività come la codifica video, ma molte altre attività non vedranno accelerazioni a meno che non possano utilizzare tutti i core.
Jared Updike,

8

No, questo è solo il meglio 1 caso possibile. Se la tua attività richiede, ad esempio, l'accesso alla rete o al disco rigido, sarà un collo di bottiglia che non puoi compensare con una CPU più veloce.

1 ) supponendo che non siano state apportate altre modifiche al sistema e alla CPU


8

No. Il tempo necessario per l'esecuzione di un'applicazione non dipende solo dalla velocità del processore.
Per esempio:

  • L'ingresso e l'output dei dischi dipendono dalla velocità di rotazione dei piatti del disco
  • Letture di memoria, scritture possono essere più lente o più veloci a seconda della cache
  • La pianificazione del processo potrebbe essere diversa.

2

Se si crea, per esempio, un programma che calcola i numeri primi e non viene fatto assolutamente alcun accesso I / O o accesso alla rete, la velocità non è ancora doppia. Può essere molto diverso.

Se si tratta di una CPU della stessa marca, generazione, tecnologia, conteggio dei transistor, set di istruzioni e stesse dimensioni delle parti in nanometri, una doppia frequenza può significare una doppia velocità. Ciò significa che se non si salva nulla e non esiste alcun collo di bottiglia nella cache della CPU.


Stai dimenticando altri elementi come la memoria cache, che non raddoppierà in velocità. Dopo tutto, la CPU sta eseguendo le istruzioni dalla cache (in uno scenario ottimale).
harrymc,

Non ho dimenticato la cache, ho letto le ultime due parole :). Il prerequisito è che non ci sono colli di bottiglia in detta cache, che la cache funziona ancora abbastanza velocemente
sinni800
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.