mirror of
https://github.com/Swizec/thaw-carrots.git
synced 2024-09-29 10:45:37 +00:00
Find good way to warm CPU
This commit is contained in:
parent
8b70bad42e
commit
30d20527c5
35
index.js
35
index.js
|
@ -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
5
package-lock.json
generated
|
@ -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",
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue