On Mon, May 5, 2014 at 8:02 PM, Rik Cabanier <caban...@gmail.com> wrote:
> On Mon, May 5, 2014 at 6:23 PM, Oliver Hunt <oli...@apple.com> wrote: > >> On May 5, 2014, at 6:13 PM, Rik Cabanier <caban...@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. > At most at half the speed; it could be significantly worse if each worker ended up accessing completely different parts of RAM, etc... Furthermore, the performance characteristics of 4 physical cores with SMT enabled for the total of 8 logical cores is substantially different from that of a system with 4 physical cores without SMT (4 logical) or 8 physical cores without SMT (8 logical). In some cases, distributing work among 8 threads concurrently in such a system (4 physical cores with SMT) results in a much worse performance than doing so among 4 threads. So while I agree that providing some API to let developers know of the number of threads that could be ran concurrently, I'm not certain the number of installed cores is a good metrics for that. - R. Niwa
_______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-dev