labath added a comment.

In http://reviews.llvm.org/D13727#268747, @tberghammer wrote:

> Based on Pavel's example and some additional experimenting we done I am not 
> sure if std::async will give us any benefit even on Windows as it don't limit 
> the number of threads to the number of cores (because it can't do if it want 
> to implement the standard). I have no problem with having 2 implementation 
> (considering that one of them is very simple) but if it don't give us any 
> benefit, then I would prefer to ignore it.


To back these with some numbers, let me explain what I have done: I have 
modified the f() function in my example to do some actual work (count to a very 
large number). On my Windows VM with hardware_concurrency()==16, after one 
second, I had about 70 threads running (more than 4 times the number of cpus). 
Since our tasks are going to be cpu-intensive, there is no point in having more 
than 16 of them running, and using std::async will cause a lot of contention, 
which will slow everything down. I believe the async implementation is not 
suited for our purpose here and we should not use it.


http://reviews.llvm.org/D13727



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to