Re: [whatwg] Proposal: navigator.cores

On Sat, May 3, 2014 at 10:32 PM, Eli Grey <me@eligrey.com> wrote:

> 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).
>

Great!
Make sure this is captured when it is put in a specification.
Otherwise the subtlety between an actual and a logical core might get lost.


>
> On Sat, May 3, 2014 at 10:39 PM, Rik Cabanier <cabanier@gmail.com> wrote:
> > On Sat, May 3, 2014 at 10:49 AM, Adam Barth <w3c@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
>

Received on Sunday, 4 May 2014 05:45:33 UTC