[llvm-cov] Multi-threaded implementation of prepareFileReports method.Summary:Local testing has demonstrated a great speed improvement, compare the following:1) Existing version:```$ time llvm
[llvm-cov] Multi-threaded implementation of prepareFileReports method.Summary:Local testing has demonstrated a great speed improvement, compare the following:1) Existing version:```$ time llvm-cov show -format=html -output-dir=report -instr-profile=... ...The tool has been launched: 00:00:00Loading coverage data: 00:00:00Get unique source files: 00:00:33Creating an index out of the source files: 00:00:34Going into prepareFileReports: 00:00:34Going to emit summary information for each file: 00:28:55 <-- 28:21 min!Going to emit links to files with no function: 00:28:55Launching 32 threads for generating HTML files: 00:28:55real 37m43.651suser 112m5.540ssys 7m39.872s```2) Multi-threaded version with 32 CPUs:```$ time llvm-cov show -format=html -output-dir=report -instr-profile=... ...The tool has been launched: 00:00:00Loading coverage data: 00:00:00Get unique source files: 00:00:38Creating an index out of the source files: 00:00:40Going into prepareFileReports: 00:00:40Preparing file reports using 32 threads: 00:00:40# Creating thread tasks for the following number of files: 16422Going to emit summary information for each file: 00:01:57 <-- 1:17 min!Going to emit links to files with no function: 00:01:58Launching 32 threads for generating HTML files: 00:01:58real 11m2.044suser 134m48.124ssys 7m53.388s```Reviewers: vsk, morehouseReviewed By: vskSubscribers: Dor1s, llvm-commits, kccDifferential Revision: https://reviews.llvm.org/D41206llvm-svn: 321871
show more ...