Is there a way to determine the number of available CPU cores in JavaScript, so that you could adjust the number of web workers depending on that?
Press Ctrl + Shift + Esc to open Task Manager. Select the Performance tab to see how many cores and logical processors your PC has.
To get information about a system's CPU's, we will use the os. cpu() method that will return an array of objects with information about each CPU in it.
Yes. To quote MDN:
The
navigator.hardwareConcurrency
read-only property returns the number of logical processors available to run threads on the user's computer…Modern computers have multiple physical processor cores in their CPU (two or four cores is typical), but each physical core is also usually able to run more than one thread at a time using advanced scheduling techniques. So a four-core CPU may offer eight logical processor cores, for example. The number of logical processor cores can be used to measure the number of threads which can effectively be run at once without them having to context switch.
The browser may, however, choose to report a lower number of logical cores in order to represent more accurately the number of Workers that can run at once, so don't treat this as an absolute measurement of the number of cores in the user's system.
It's supported by every browser except Internet Explorer. For that, you can use the polyfill core-estimator
(demo, blog post).
No, there isn't, unless you use some ActiveX.
You can try to estimate the number of cores with: https://github.com/oftn/core-estimator
demo: http://eligrey.com/blog/post/cpu-core-estimation-with-javascript
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With