Come modificare un algoritmo a seconda della velocità della CPU

May 20

Come modificare un algoritmo a seconda della velocità della CPU


Un sacco di linguaggi di programmazione forniscono molte modi alternativi per attuare unità centrale di elaborazione (CPU) algoritmi dipendenti dalla velocità che variano in base al rapporto tra il codice e la velocità del processore. La CPU esegue tutte le istruzioni del software, e può influenzare la velocità di esecuzione dei programmi. Ci sono molti strumenti di programmazione là fuori che permettono un sacco di lingue moderne accesso alle informazioni hardware, come ad esempio le classi sotto la Windows Management Instrumentation (WMI) in .NET. Conoscendo la velocità di elaborazione consente di determinare se il computer può eseguire applicazioni CPU-intensive. Inoltre, nei computer portatili, la velocità della CPU varia per risparmiare energia.

istruzione

1 Annotare la relazione tra il codice e la velocità della CPU. Questo può assumere molte forme. Ad esempio, si potrebbe voler sapere se la velocità di un computer è inferiore a quanto è necessario per eseguire applicazioni specifiche o segmenti di un codice, nel qual caso il codice si connetterà alla velocità della CPU tramite un'istruzione condizionale. In alternativa, si consiglia la velocità integrato nel codice originale da utilizzare in un'operazione. Ad esempio, per tracciare diversi colori in base alla velocità della CPU, è possibile effettuare le seguenti operazioni:

colorVariable è uguale al colorSpectrum moltiplicato per la velocità della CPU corrente sopra la velocità massima della CPU.

2 Scrivere il codice per implementare il rapporto tra il programma e la CPU, utilizzando un nome segnaposto per la velocità della CPU. Ad esempio, è possibile utilizzare un ciclo while o un'istruzione if che avrebbe eseguito solo segmenti di codice selezionare quando la velocità è al di sopra di sotto di un valore di soglia, come segue:

Mentre cpuspeed è maggiore o uguale ai segmenti di codice corsa ThresholdValue.

3 Scrivere il codice per ottenere la velocità della CPU. In C #, un modo di accesso alla velocità del processore con una classe WMI è il seguente:

int i = 0;

ManagementClass processorClass = new ManagementClass ( "Win32_Processor");

foreach (processore ManagementObject a processorClass.GetInstances ())

{

++i;

SpeedArray [i] = processore [ "CurrentClockSpeed"]

}

Questo codice ottiene la velocità della CPU per ogni processore nel computer utilizzando il ManagementClass, e lo mette nella matrice chiamato SpeedArray.

4 Sostituire il nome segnaposto con la variabile che contiene la velocità della CPU, o il comando che consente l'accesso diretto a questo valore, che nell'esempio corrente è il processore [ "CurrentClockSpeed"]. Con riferimento all'esempio C #, il codice diventa:

mentre (speedArray [i]> soglia)

{

put code in here

}