<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>+1, I agree with all that you say.&nbsp;</div><div><br></div><div>I think that having more sophisticated forms of concurrency than just workers would eventually be great. But every time I've written parallel code, no matter what programming model I used (threads, processes, tasks, whatever...) I always end up wanting the number of logical CPUs.<br><br>-Filip</div><div><br>On May 5, 2014, at 8:02 PM, Rik Cabanier &lt;<a href="mailto:cabanier@gmail.com">cabanier@gmail.com</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, May 5, 2014 at 6:23 PM, Oliver Hunt <span dir="ltr">&lt;<a href="mailto:oliver@apple.com" target="_blank">oliver@apple.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><div class=""><div>
On May 5, 2014, at 6:13 PM, Rik Cabanier &lt;<a href="mailto:cabanier@gmail.com" target="_blank">cabanier@gmail.com</a>&gt; wrote:</div><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div>&nbsp;</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word"><div>Do you really want a page to know that you have a &nbsp;fancy-pants 24-core Mac Pro rather than a little Mac mini?</div>

</div></blockquote><div><br></div><div>Yes!</div><div>If I have 24 cores ready to do work and the page can put them to use, I would like it to do so.</div><div>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.&nbsp;</div>
</div></div></div></blockquote><div><br></div></div><div>But I don't have 24 cores available, i have 24 cores installed. &nbsp;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.</div>
</div></div></blockquote><div><br></div><div>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.</div><div>How often would that happen though? Even if it did, would it be surprising to the user that things are slower?</div>
<div>&nbsp;</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div>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</div>
</div></div></blockquote><div><br></div><div>I'm unconvinced that this is something that authors actually want and also sounds more complex than needed.</div><div>That being said, this is a problem that could be solved in parallel.</div>
<div>Nothing in web workers is stopping a browser to implement this underneath web workers.</div><div>&nbsp;</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div style="word-wrap:break-word"><div><div>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.</div></div></div></blockquote>
<div><br></div><div>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.</div><div>Long time ago, I wrote an application that compressed image data over all available CPUs and it was not that hard to optimize this.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word"><div><blockquote type="cite">
<div class=""><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div style="word-wrap:break-word"><div><div><div>On May 5, 2014, at 4:58 PM, Filip Pizlo &lt;<a href="mailto:fpizlo@apple.com" target="_blank">fpizlo@apple.com</a>&gt; wrote:</div>
<br><blockquote type="cite"><div style="font-family:Helvetica,Arial;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word">

<div style="font-family:Helvetica,Arial;font-size:13px;margin:0px">I like this. &nbsp;Personally, I don't see any downside.</div><div style="font-family:Helvetica,Arial;font-size:13px;margin:0px"><br></div><div style="font-family:Helvetica,Arial;font-size:13px;margin:0px">

Is there a bug (on<span>&nbsp;</span><a href="http://bugs.webkit.org/" target="_blank">bugs.webkit.org</a>), and if not, can you create one? :-)</div><div style="font-family:Helvetica,Arial;font-size:13px;margin:0px"><br></div>

<div><div style="font-family:helvetica,arial;font-size:13px">-Phil</div><div style="font-family:helvetica,arial;font-size:13px"><br></div></div><br><p>On May 5, 2014 at 4:49:35 PM, Rik Cabanier (<a href="mailto:cabanier@gmail.com" target="_blank">cabanier@gmail.com</a>) wrote:</p>

<blockquote type="cite"><span><div></div><div dir="ltr">All,<div><br></div><div>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]</div>

<div><br></div><div>Is this something that WebKit would support?</div><div><br></div><div>1:&nbsp;<a href="https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/B6pQClqfCp4" style="font-size:13px;font-family:arial,sans-serif" target="_blank">https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/B6pQClqfCp4</a></div>

<div>2:&nbsp;<a href="http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2014-May/254200.html" target="_blank">http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2014-May/254200.html</a></div><div>3:&nbsp;<a href="http://wiki.whatwg.org/wiki/NavigatorCores" style="font-size:13px;font-family:arial,sans-serif" target="_blank">http://wiki.whatwg.org/wiki/NavigatorCores</a></div>

</div></span></blockquote></div></blockquote></div><br></div></div></blockquote></div><br></div></div></div><div class="">
_______________________________________________<br>webkit-dev mailing list<br><a href="mailto:webkit-dev@lists.webkit.org" target="_blank">webkit-dev@lists.webkit.org</a><br><a href="https://lists.webkit.org/mailman/listinfo/webkit-dev" target="_blank">https://lists.webkit.org/mailman/listinfo/webkit-dev</a><br>
</div></blockquote></div><br></div></blockquote></div><br></div></div>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>webkit-dev mailing list</span><br><span><a href="mailto:webkit-dev@lists.webkit.org">webkit-dev@lists.webkit.org</a></span><br><span><a href="https://lists.webkit.org/mailman/listinfo/webkit-dev">https://lists.webkit.org/mailman/listinfo/webkit-dev</a></span><br></div></blockquote></body></html>