diff --git a/js/mapbox-gl.js b/js/mapbox-gl.js index 13390003642..7b4ee6a839a 100644 --- a/js/mapbox-gl.js +++ b/js/mapbox-gl.js @@ -6,8 +6,7 @@ const browser = require('./util/browser'); const mapboxgl = module.exports = {}; mapboxgl.version = require('../package.json').version; -mapboxgl.workerCount = Math.max(browser.hardwareConcurrency - 1, 1); - +mapboxgl.workerCount = Math.max(Math.floor(Math.log(browser.hardwareConcurrency) / Math.LN2), 1); mapboxgl.Map = require('./ui/map'); mapboxgl.Control = require('./ui/control/control'); diff --git a/test/js/mapbox-gl.js b/test/js/mapbox-gl.js index c79571a5d05..a83885f202f 100644 --- a/test/js/mapbox-gl.js +++ b/test/js/mapbox-gl.js @@ -1,7 +1,6 @@ 'use strict'; const test = require('mapbox-gl-js-test').test; -const proxyquire = require('proxyquire'); const mapboxgl = require('../../js/mapbox-gl'); test('mapboxgl', (t) => { @@ -10,11 +9,8 @@ test('mapboxgl', (t) => { t.end(); }); - t.test('.workerCount defaults to hardwareConcurrency - 1', (t) => { - const mapboxgl = proxyquire('../../js/mapbox-gl', { - './util/browser': { hardwareConcurrency: 15 } - }); - t.equal(mapboxgl.workerCount, 14); + t.test('workerCount', (t) => { + t.ok(typeof mapboxgl.workerCount === 'number'); t.end(); }); t.end();