[PATCH] D68820: win: Move Parallel.h off concrt to cross-platform code

Billy Robert O'Neal III via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 11 09:19:29 PDT 2019


BillyONeal added inline comments.


================
Comment at: llvm/include/llvm/Support/Parallel.h:124
   TaskGroup TG;
   parallel_quick_sort(Start, End, Comp, TG,
                       llvm::Log2_64(std::distance(Start, End)) + 1);
----------------
aganea wrote:
> BillyONeal wrote:
> > If you get a chance to benchmark I'm curious how this compares to our std::sort(std::execution::par, ...) version :)
> I ran a few AB/BA tests on LLD with my dataset. The cumulated time on all cores with ConcRT is consistently over by about 300ms on my 36-core Skylake (~1.9 sec for ConcRT version, ~1.6 sec after this patch). There are only three places where we `parallelSort` in LLD, so maybe this not representative. But the dataset is quite big, ~22 GB of OBJs and LIBs. This is a Unity build of the Editor Release target of one of our games. I can try also with no Unity files, usually the dataset is about an order of magnitude greater.
> 
> **Before:**
> {F10225243}
> 
> **After:**
> {F10225244}
> 
> 
Not concrt; the std::sort(par...) standard parallel algorithm is an unrelated implementation.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68820/new/

https://reviews.llvm.org/D68820





More information about the llvm-commits mailing list