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:00 Loading coverage data: 00:00:00 Get unique source files: 00:00:33 Creating an index out of the source files: 00:00:34 Going into prepareFileReports: 00:00:34 Going to emit summary information for each file: 00:28:55 <-- 28:21 min! Going to emit links to files with no function: 00:28:55 Launching 32 threads for generating HTML files: 00:28:55 real 37m43.651s user 112m5.540s sys 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:00 Loading coverage data: 00:00:00 Get unique source files: 00:00:38 Creating an index out of the source files: 00:00:40 Going into prepareFileReports: 00:00:40 Preparing file reports using 32 threads: 00:00:40 # Creating thread tasks for the following number of files: 16422 Going to emit summary information for each file: 00:01:57 <-- 1:17 min! Going to emit links to files with no function: 00:01:58 Launching 32 threads for generating HTML files: 00:01:58 real 11m2.044s user 134m48.124s sys 7m53.388s ``` Reviewers: vsk, morehouse Reviewed By: vsk Subscribers: Dor1s, llvm-commits, kcc Differential Revision: https://reviews.llvm.org/D41206 llvm-svn: 321871
16 lines
352 B
C++
16 lines
352 B
C++
#include "abs.h"
|
|
#include "bytes.h"
|
|
#include "pow.h"
|
|
|
|
bool loopBytes() {
|
|
uint64_t totalInt = 0;
|
|
double totalFloat = 0;
|
|
for (uint8_t i = 1; i != 0; ++i) {
|
|
double a = logarithm(i);
|
|
a = abs(a);
|
|
totalInt += abs(pow(i, static_cast<uint8_t>(a)));
|
|
totalFloat += pow(static_cast<decltype(a)>(i), a);
|
|
}
|
|
return totalInt > totalFloat;
|
|
}
|