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.
>> > &...