use navigator.hardwareConcurrency