search for: pgoinstr

Displaying 6 results from an estimated 6 matches for "pgoinstr".

Did you mean: noinstr
2016 Mar 11
8
RFC: Pass to prune redundant profiling instrumentation
...rgc, char **argv) { std::vector<int> V(atoi(argv[1])); escape(reinterpret_cast<void *>(V.data())); std::sort(V.begin(), V.end()); return V[0]; } I get the following results on my desktop (10^8 elements, 5 runs each): O3: 0.262s O3 + PGOInstr: 0.663s O3 + PGOInstr + Pruning: 0.606s (8.6% performance win, 672 aliases) O3 + CoverageInstr: 0.690s O3 + CoverageInstr + Pruning: 0.610s (11.6% performance win, 688 aliases) Next Steps? =========== Is the performance of instrumented code something we think...
2016 Mar 11
5
RFC: Pass to prune redundant profiling instrumentation
...ustin pointed out that this doesn't work for a few of Apple's use cases. Clarifications ============== 1. In my original email, two of my numbers were incorrect. I listed the sizes of the __llvm_prf_alias sections, not the number of actual aliases. The corrected lines are: O3 + PGOInstr + Pruning: 0.606s (8.6% performance win, _42_ aliases) O3 + CoverageInstr + Pruning: 0.610s (11.6% performance win, _44_ aliases) 2. >> Determine which profile counters are essential. > > What is an "essential counter"? The pass I proposed works like this: for (P...
2016 Mar 11
3
RFC: Pass to prune redundant profiling instrumentation
...escape(reinterpret_cast<void *>(V.data())); >> std::sort(V.begin(), V.end()); > > return V[0]; >> } >> >> I get the following results on my desktop (10^8 elements, 5 runs each): >> >> O3: 0.262s >> O3 + PGOInstr: 0.663s >> O3 + PGOInstr + Pruning: 0.606s (8.6% performance win, 672 aliases) >> O3 + CoverageInstr: 0.690s >> O3 + CoverageInstr + Pruning: 0.610s (11.6% performance win, 688 >> aliases) >> >> >> Next Steps? >> ==...
2016 Mar 11
2
RFC: Pass to prune redundant profiling instrumentation
...std::sort(V.begin(), V.end()); >>> >>> return V[0]; >>>> } >>>> >>>> I get the following results on my desktop (10^8 elements, 5 runs each): >>>> >>>> O3: 0.262s >>>> O3 + PGOInstr: 0.663s >>>> O3 + PGOInstr + Pruning: 0.606s (8.6% performance win, 672 >>>> aliases) >>>> O3 + CoverageInstr: 0.690s >>>> O3 + CoverageInstr + Pruning: 0.610s (11.6% performance win, 688 >>>> aliases) &...
2016 Mar 12
2
RFC: Pass to prune redundant profiling instrumentation
...r a few of Apple's use cases. > > > Clarifications > ============== > > 1. In my original email, two of my numbers were incorrect. I listed the > sizes of the __llvm_prf_alias sections, not the number of actual aliases. > The corrected lines are: > > O3 + PGOInstr + Pruning: 0.606s (8.6% performance win, _42_ aliases) > O3 + CoverageInstr + Pruning: 0.610s (11.6% performance win, _44_ aliases) > > 2. > > >> Determine which profile counters are essential. > > > > What is an "essential counter"? > > The...
2016 Mar 12
2
RFC: Pass to prune redundant profiling instrumentation
...> > ============== >> > >> > 1. In my original email, two of my numbers were incorrect. I listed the >> > sizes of the __llvm_prf_alias sections, not the number of actual >> aliases. >> > The corrected lines are: >> > >> > O3 + PGOInstr + Pruning: 0.606s (8.6% performance win, _42_ >> aliases) >> > O3 + CoverageInstr + Pruning: 0.610s (11.6% performance win, _44_ >> aliases) >> > >> > 2. >> > >> > >> Determine which profile counters are essential. >> > &...