systeminformation 5.11.25 → 5.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/lib/cpu.js +21 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -112,6 +112,7 @@ si.cpu()
|
|
|
112
112
|
|
|
113
113
|
(last 7 major and minor version releases)
|
|
114
114
|
|
|
115
|
+
- Version 5.12.0: `cpu()` added performance and efficiency cores
|
|
115
116
|
- Version 5.11.0: `networkInterfaces()` added default property and default parameter
|
|
116
117
|
- Version 5.10.0: basic `android` support
|
|
117
118
|
- Version 5.9.0: `graphics()` added properties (macOS)
|
|
@@ -207,8 +208,8 @@ Full function reference with examples can be found at [https://systeminformation
|
|
|
207
208
|
| | governor | X | | | | | e.g. 'powersave' |
|
|
208
209
|
| | cores | X | X | X | X | | # cores |
|
|
209
210
|
| | physicalCores | X | X | X | X | | # physical cores |
|
|
210
|
-
| | efficiencyCores |
|
|
211
|
-
| | performanceCores |
|
|
211
|
+
| | efficiencyCores | X | | X | | | # efficiancy cores |
|
|
212
|
+
| | performanceCores | X | | X | | | # performance cores |
|
|
212
213
|
| | processors | X | X | X | X | | # processors |
|
|
213
214
|
| | socket | X | X | | X | | socket type e.g. "LGA1356" |
|
|
214
215
|
| | vendor | X | X | X | X | | vendor ID |
|
|
@@ -903,7 +904,7 @@ To be able to measure temperature on macOS I created a little additional package
|
|
|
903
904
|
in NPM with `optionalDependencies` I unfortunately was getting unexpected warnings on other platforms.
|
|
904
905
|
So I decided to drop this optional dependency for macOS - so by default, you will not get correct values.
|
|
905
906
|
|
|
906
|
-
This additional package
|
|
907
|
+
This additional package is now also supporting Apple Silicon M1 machines.
|
|
907
908
|
|
|
908
909
|
But if you need to detect macOS temperature just run the following additional
|
|
909
910
|
installation command:
|
package/lib/cpu.js
CHANGED
|
@@ -606,6 +606,8 @@ function getCpu() {
|
|
|
606
606
|
governor: '',
|
|
607
607
|
cores: util.cores(),
|
|
608
608
|
physicalCores: util.cores(),
|
|
609
|
+
performanceCores: util.cores(),
|
|
610
|
+
efficiencyCores: 0,
|
|
609
611
|
processors: 1,
|
|
610
612
|
socket: '',
|
|
611
613
|
flags: '',
|
|
@@ -712,9 +714,13 @@ function getCpu() {
|
|
|
712
714
|
const threadsPerCore = util.getValue(lines, 'thread(s) per core') || '1';
|
|
713
715
|
// const coresPerSocketInt = parseInt(util.getValue(lines, 'cores(s) per socket') || '1', 10);
|
|
714
716
|
const processors = util.getValue(lines, 'socket(s)') || '1';
|
|
715
|
-
let threadsPerCoreInt = parseInt(threadsPerCore, 10);
|
|
716
|
-
let processorsInt = parseInt(processors, 10);
|
|
717
|
-
|
|
717
|
+
let threadsPerCoreInt = parseInt(threadsPerCore, 10); // threads per code (normally only for performance cores)
|
|
718
|
+
let processorsInt = parseInt(processors, 10) || 1; // number of sockets / processor units in machine (normally 1)
|
|
719
|
+
// const cpus = (parseInt(util.getValue(lines, 'cpu(s)'), 10) || 1); // overall number of cores (e.g. 24 on i12900)
|
|
720
|
+
const coresPerSocket = parseInt(util.getValue(lines, 'core(s) per socket'), 10); // number of cores (e.g. 16 on i12900)
|
|
721
|
+
result.physicalCores = coresPerSocket ? coresPerSocket * processorsInt : result.cores / threadsPerCoreInt;
|
|
722
|
+
result.performanceCores = threadsPerCoreInt > 1 ? result.cores - result.physicalCores : result.cores;
|
|
723
|
+
result.efficiencyCores = threadsPerCoreInt > 1 ? result.cores - (threadsPerCoreInt * result.performanceCores) : 0;
|
|
718
724
|
result.processors = processorsInt;
|
|
719
725
|
result.governor = util.getValue(lines, 'governor') || '';
|
|
720
726
|
|
|
@@ -1198,6 +1204,18 @@ function cpuTemperature(callback) {
|
|
|
1198
1204
|
}
|
|
1199
1205
|
if (osxTemp) {
|
|
1200
1206
|
result = osxTemp.cpuTemperature();
|
|
1207
|
+
// round to 2 digits
|
|
1208
|
+
if (result.main) {
|
|
1209
|
+
result.main = Math.round(result.main * 100) / 100;
|
|
1210
|
+
}
|
|
1211
|
+
if (result.max) {
|
|
1212
|
+
result.max = Math.round(result.max * 100) / 100;
|
|
1213
|
+
}
|
|
1214
|
+
if (result.cores && result.cores.length) {
|
|
1215
|
+
for (let i = 0; i < result.cores.length; i++) {
|
|
1216
|
+
result.cores[i] = Math.round(result.cores[i] * 100) / 100;
|
|
1217
|
+
}
|
|
1218
|
+
}
|
|
1201
1219
|
}
|
|
1202
1220
|
|
|
1203
1221
|
if (callback) { callback(result); }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "systeminformation",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.12.1",
|
|
4
4
|
"description": "Advanced, lightweight system and OS information library",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Sebastian Hildebrandt <hildebrandt@plus-innovations.com> (https://plus-innovations.com)",
|