The proposal specifically states using logical cores, which handles
all of the CPUs you mentioned properly.

Intel CPUs with hyperthreading enabled report logical cores as double
the hardware cores. Depending on the version and configuration of the
Samsung Exynos Octa big.LITTLE CPUs, you will get either 4 logical
cores (only one cluster can run at a time) or 8 logical cores
(big.LITTLE MP, available in Exynos 5420 or later only).

On Sat, May 3, 2014 at 10:39 PM, Rik Cabanier <caban...@gmail.com> wrote:
> On Sat, May 3, 2014 at 10:49 AM, Adam Barth <w...@adambarth.com> wrote:
>
>> Over on blink-dev, we've been discussing [1] adding a property to navigator
>> that reports the number of cores [2].  As far as I can tell, this
>> functionality exists in every other platform (including iOS and Android).
>>  Some of the use cases for this feature have been discussed previously on
>> this mailing list [3] and rejected in favor of a more complex system,
>> perhaps similar to Grand Central Dispatch [4].  Others have raised concerns
>> that exposing the number of cores could lead to increased fidelity of
>> fingerprinting [5].
>>
>> My view is that the fingerprinting risks are minimal.  This information is
>> already available to web sites that wish to spend a few seconds probing
>> your machine [6].  Obviously, exposing this property makes that easier and
>> more accurate, which is why it's useful for developers.
>>
>> IMHO, a more complex worker pool system would be valuable, but most systems
>> that have such a worker pool system also report the number of hardware
>> threads available.  Examples:
>>
>> C++:
>> std::thread::hardware_concurrency();
>>
>> Win32:
>> GetSystemInfo returns dwNumberOfProcessors
>>
>> POSIX:
>> sysctl returns HW_AVAILCPU or HW_NCPU
>>
>> Java:
>> Runtime.getRuntime().availableProcessors();
>>
>> Python:
>> multiprocessing.cpu_count()
>>
>> In fact, the web was the only platform I could find that didn't make the
>> number of cores available to developers.
>>
>
> This sound like a great addition to the platform. I agree that there are no
> real fingerprinting concerns and it will really benefit advanced authors
> that want to optimize performance.
>
> I wonder if this value should return the number of concurrent tasks
> (including the main thread) that the system can support, as opposed to the
> number of cores.
> For instance, Samsung's exynos octa processor [1] has 8 cores, but only 4
> should be used at a time. Desktop CPU's often support hyperthreading so
> they support double the number of tasks per core [2]
>
> 1:
> http://www.samsung.com/global/business/semiconductor/minisite/Exynos/products5octa_5410.html
> 2: http://ark.intel.com/products/77780

Reply via email to