- From: Rik Cabanier <cabanier@gmail.com>
- Date: Sat, 3 May 2014 22:45:06 -0700
- To: Eli Grey <me@eligrey.com>
- Cc: whatwg <whatwg@lists.whatwg.org>
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