[webkit-dev] support for navigator.cores or navigator.hardwareConcurrency

Rik Cabanier cabanier at gmail.com
Mon May 5 20:02:29 PDT 2014


On Mon, May 5, 2014 at 6:23 PM, Oliver Hunt <oliver at apple.com> wrote:

>
> On May 5, 2014, at 6:13 PM, Rik Cabanier <cabanier at gmail.com> wrote:
>
>
>
>> Do you really want a page to know that you have a  fancy-pants 24-core
>> Mac Pro rather than a little Mac mini?
>>
>
> Yes!
> If I have 24 cores ready to do work and the page can put them to use, I
> would like it to do so.
> At the same time, if I just have a old mac mini, I don't want the page to
> launch 24 workers as that will exhaust my memory and cause contention.
>
>
> But I don't have 24 cores available, i have 24 cores installed.  You have
> no idea what the actual workload of the system is, you don't know whether
> any other tabs are also using workers, you only have one piece of
> information, and that is nowhere near sufficient to make a reasonable
> choice.
>

Sure, if I have 2 tabs and each one consumes all my CPU resources, things
will run at half the speed and maybe even worse because of we would use
more memory.
How often would that happen though? Even if it did, would it be surprising
to the user that things are slower?


> A better solution would be to have a WorkerSet API where the browser is
> able to make a sensible choice given the current system, system load, power
> source, etc, etc
>

I'm unconvinced that this is something that authors actually want and also
sounds more complex than needed.
That being said, this is a problem that could be solved in parallel.
Nothing in web workers is stopping a browser to implement this underneath
web workers.


> Generating workloads on the basis of # of installed cores has be attempted
> on every environment and it almost always leads to incorrect choices being
> made.
>

I don't think that is true. I know several Adobe applications and libraries
that look at the number of CPU's to divide up the workload.
Long time ago, I wrote an application that compressed image data over all
available CPUs and it was not that hard to optimize this.

On May 5, 2014, at 4:58 PM, Filip Pizlo <fpizlo at apple.com> wrote:
>>
>> I like this.  Personally, I don't see any downside.
>>
>> Is there a bug (on bugs.webkit.org), and if not, can you create one? :-)
>>
>> -Phil
>>
>>
>> On May 5, 2014 at 4:49:35 PM, Rik Cabanier (cabanier at gmail.com) wrote:
>>
>> All,
>>
>> there's a thread on blink-dev [1] and whatwg [2] to create a new
>> parameter on the navigator object that returns the maximum number of tasks
>> that can run in parallel. [3]
>>
>> Is this something that WebKit would support?
>>
>> 1:
>> https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/B6pQClqfCp4
>> 2:
>> http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2014-May/254200.html
>> 3: http://wiki.whatwg.org/wiki/NavigatorCores
>>
>>
>>
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-dev/attachments/20140505/83ceacfd/attachment.html>


More information about the webkit-dev mailing list