Displaying 6 results from an estimated 6 matches for "coverageinstr".
2016 Mar 11
8
RFC: Pass to prune redundant profiling instrumentation
...a()));
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 we need to fix?
What's an acceptable compile-time overhead for running this pruning pass? Is
the general approach a...
2016 Mar 11
5
RFC: Pass to prune redundant profiling instrumentation
...se 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 (PC : ProfileCounters) {
if (Update-Sites-Of(PC) == Update-Sites-Of(Other-PC)...
2016 Mar 11
3
RFC: Pass to prune redundant profiling instrumentation
...}
>>
>> 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 we need to fix?
>>
>
> With frontend i...
2016 Mar 11
2
RFC: Pass to prune redundant profiling instrumentation
...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 somet...
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.
> >
> > What is an "essential counter"?
>
> The pass I proposed works like this:
>
> for (PC : ProfileCounters) {
>...
2016 Mar 12
2
RFC: Pass to prune redundant profiling instrumentation
...ere 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...