Hvordan du endrer en algoritme Avhengig CPU Speed

Hvordan du endrer en algoritme Avhengig CPU Speed


Mye av programmeringsspråk gi mange alternative måter å implementere sentral behandlingsenhet (CPU) hastighetsavhengig algoritmer, som varierer i henhold til forholdet mellom koden og hastigheten av prosessoren. CPU utfører alle programvareinstruksjoner, og kan påvirke hvor raskt programmene kjører. Det er mange programmeringsverktøy der ute som tillater en rekke moderne språk tilgang til informasjon om maskinvare, for eksempel klassene under Windows Management Instrumentation (WMI) i .NET. Å vite prosessorhastigheten kunne fastslå om datamaskinen kan kjøre CPU-intensive applikasjoner. Også i bærbare datamaskiner, varierer CPU-hastighet for å spare strøm.

Bruksanvisning

1 Skriv ned forholdet mellom kode og CPU-hastighet. Dette kan ta mange former. For eksempel kan det være lurt å vite om hastigheten på en datamaskin er mindre enn det som er nødvendig for å kjøre spesifikke programmer eller deler av en kode, og da koden din vil koble til CPU-hastighet via en betinget utsagn. Alternativt kan du hastigheten integrert i den opprinnelige koden for å bruke i en operasjon. For eksempel, for å plotte forskjellige farger basert på CPU-hastighet, kan du gjøre følgende:

colorVariable er lik colorSpectrum multiplisert med den gjeldende CPU-hastighet over den maksimale CPU-hastighet.

2 Skriv inn koden for å implementere forholdet mellom programmet og CPU, ved hjelp av en plassholder navn for CPU-hastighet. For eksempel kan du bruke en stund loop eller en if setning som ville bare kjøre utvalgte koden segmenter når hastigheten er over under en terskelverdi, som følger:

Mens CPUspeed er større enn eller lik ThresholdValue kjøre kode segmenter.

3 Skriv inn koden for å få CPU-hastighet. I C #, er en måte å få tilgang prosessorhastigheten med en WMI klassen som følger:

int i = 0;

ManagementClass processorClass = ny ManagementClass ( "Win32_Processor");

foreach (ManagementObject prosessor i processorClass.GetInstances ())

{

++i;

SpeedArray [i] = prosessor [ "CurrentClockSpeed"]

}

Denne koden får CPU hastigheten for hver prosessor i datamaskinen ved hjelp av ManagementClass, og setter den i matrisen kalles SpeedArray.

4 Erstatt plassholderen navn med den variabelen som holder CPU-hastighet, eller kommandoen som gir direkte tilgang til denne verdien, som i dagens eksempel er prosessor [ "CurrentClockSpeed"]. Under henvisning til C # eksemplet, blir koden:

while (speedArray [i]> terskel)

{

put code in here

}