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.
Files changed (3) hide show
  1. package/README.md +4 -3
  2. package/lib/cpu.js +21 -3
  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 | | | X | | | # efficiancy cores (ARM only) |
211
- | | performanceCores | | | X | | | # performance cores (ARM only) |
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 will unfortunately NOT work on Apple Silicon M1 machines.
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
- result.physicalCores = result.cores / threadsPerCoreInt;
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.11.25",
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)",