New caching mechanism for CPU

This commit is contained in:
Linus Dierheimer
2022-09-21 17:26:10 +02:00
parent 07231ffbbc
commit d31d157b00
8 changed files with 202 additions and 78 deletions
+5 -6
View File
@@ -62,7 +62,7 @@ static double getFrequency(const char* info, const char* scaling)
static double detectCPUTemp()
{
const FFTempsResult *temps = ffDetectTemps();
const FFTempsResult* temps = ffDetectTemps();
for(uint32_t i = 0; i < temps->values.length; i++)
{
@@ -78,10 +78,11 @@ static double detectCPUTemp()
return FF_CPU_TEMP_UNSET;
}
void ffDetectCPUImpl(FFCPUResult* cpu)
void ffDetectCPUImpl(FFCPUResult* cpu, bool cached)
{
ffStrbufInit(&cpu->name);
ffStrbufInit(&cpu->vendor);
cpu->temperature = detectCPUTemp();
if(cached)
return;
FFstrbuf physicalCoresBuffer;
ffStrbufInit(&physicalCoresBuffer);
@@ -102,7 +103,5 @@ void ffDetectCPUImpl(FFCPUResult* cpu)
cpu->frequencyMin = getFrequency(BP"cpuinfo_min_freq", BP"scaling_min_freq");
cpu->frequencyMax = getFrequency(BP"cpuinfo_max_freq", BP"scaling_max_freq");
cpu->temperature = detectCPUTemp();
ffStrbufDestroy(&physicalCoresBuffer);
}