Find good way to warm CPU

This commit is contained in:
Swizec Teller 2018-10-10 23:52:54 -07:00
parent 8b70bad42e
commit 30d20527c5
3 changed files with 27 additions and 19 deletions

View file

@ -2,19 +2,8 @@ const si = require("systeminformation");
const mri = require("mri");
const sll = require("single-line-log").stdout;
const kleur = require("kleur");
function collatz_step(n) {
return n % 2 ? n / 2 : 3 * n + 1;
}
function collatz(n) {
let count = 0;
while (n !== 1) {
n = collatz_step(n);
count += 1;
}
return count;
}
const isPrime = require("prime-number");
const eatCPU = require("./eat-cpu");
async function readTemp() {
const temp = await si.cpuTemperature();
@ -22,13 +11,23 @@ async function readTemp() {
}
async function thawMyCarrots(targetTemp) {
let temp = await readTemp();
let temp = await readTemp(),
n = 2;
while (1) {
if (temp.main < targetTemp) {
eatCPU(n);
n = n + 1;
}
for (let n = 1; temp.main < targetTemp; n += 1) {
collatz(n);
// console.log(`Collatz takes ${collatz(n)} steps for n=${n}`);
temp = await readTemp();
sll("Current temp", kleur.bold.red(temp.main.toFixed(2)));
sll(
"Current temp",
kleur.bold.red(temp.main.toFixed(2)),
"\nCores at",
kleur.bold.gray(temp.cores),
n
);
}
}

5
package-lock.json generated
View file

@ -42,6 +42,11 @@
"resolved": "https://registry.npmjs.org/osx-temperature-sensor/-/osx-temperature-sensor-1.0.3.tgz",
"integrity": "sha512-iqgD538Qp6F/RzV+kDeDsoNlSZIFShuS92DE4Zw9VwronG5qWsQIrDzvd777Bv1/+quF0ItR5ooelonENN5AgQ=="
},
"prime-number": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/prime-number/-/prime-number-0.2.2.tgz",
"integrity": "sha1-/10Zcs1GGJaHvPbrHibKawpdyJw="
},
"single-line-log": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz",

View file

@ -26,7 +26,11 @@
"kleur": "^2.0.2",
"mri": "^1.1.1",
"osx-temperature-sensor": "^1.0.3",
"prime-number": "^0.2.2",
"single-line-log": "^1.1.2",
"systeminformation": "^3.45.7"
},
"bin": {
"thaw-carrots": "index.js"
}
}
}