Go to file
Vedant Kumar e3a0bf5048 Retry: [llvm-profdata] Speed up merging by using a thread pool
Add a "-j" option to llvm-profdata to control the number of threads used.
Auto-detect NumThreads when it isn't specified, and avoid spawning threads when
they wouldn't be beneficial.

I tested this patch using a raw profile produced by clang (147MB). Here is the
time taken to merge 4 copies together on my laptop:

  No thread pool: 112.87s user 5.92s system 97% cpu 2:01.08 total
  With 2 threads: 134.99s user 26.54s system 164% cpu 1:33.31 total

Changes since the initial commit:

  - When handling odd-length inputs, call ThreadPool::wait() before merging the
    last profile. Should fix a race/off-by-one (see r275937).

Differential Revision: https://reviews.llvm.org/D22438

llvm-svn: 275938
2016-07-19 01:17:20 +00:00
clang Append clang system include path for offloading tool chains. 2016-07-19 00:01:12 +00:00
clang-tools-extra Unbreak extra tools build post r275882. 2016-07-18 19:21:22 +00:00
compiler-rt [interception] Remove extra whitespace to appease linters (NFC) 2016-07-18 20:07:27 +00:00
debuginfo-tests
libclc R600: Use new barrier intrinsic 2016-07-18 18:42:17 +00:00
libcxx Bump version # to 4.0.0 2016-07-18 20:27:19 +00:00
libcxxabi Fix arc config to use https 2016-07-18 02:05:52 +00:00
libunwind [PATCH] [libunwind][ehabi] Use early returns where possible. 2016-07-08 12:13:31 +00:00
lld Delete dead code. 2016-07-18 18:24:41 +00:00
lldb Add missing headers after header cleanup in r275882. 2016-07-18 21:11:43 +00:00
llgo Upgrade all the .arcconfigs to https. 2016-07-14 13:15:37 +00:00
llvm Retry: [llvm-profdata] Speed up merging by using a thread pool 2016-07-19 01:17:20 +00:00
openmp http://reviews.llvm.org/D22134: Implementation of OpenMP 4.5 nonmonotonic schedule modifier 2016-07-11 10:44:57 +00:00
parallel-libs Set up arcconfig for parallel-libs project 2016-07-18 17:26:26 +00:00
polly GPGPU: collect array references 2016-07-18 15:44:32 +00:00