As Kostya said, ASan overhead is not limited to instrumentation of
memory access instructions. One other case that comes to mind: too
many unique malloc/free stack traces can put pressure on StackDepot.

I'd recommend looking at some of the outliers with a CPU profiler.

On Mon, Sep 3, 2018 at 10:53 PM, Konstantin Serebryany
<konstantin.s.serebry...@gmail.com> wrote:
> Hi Guilherme,
>
> Instrumenting all memory accesses is only one cause of slowdown.
> Another equally important cause is poisoning the heap memory on malloc/free
> and poisoning the stack memory on function entry/exit.
> Yet another one, is the growth of total memory usage due to redzones and
> quarantine (extra RAM usage typically costs extra CPU cycles)
> If you don't look at these factors you are unlikely to get a good model.
>
>
>
> --kcc
>
> On Mon, Sep 3, 2018 at 12:28 PM Guilherme <guilhermeleo...@gmail.com> wrote:
>>
>> Hi all,
>>
>> We are running a few experiments to try to predict the performance
>> slowdown of Address Sanitizer. Our hypothesis is that an executable with
>> more memory accesses would take longer than one with fewer. We tried to
>> correlate the number of loads/stores in the LLVM IR with the slowdown
>> introduced by ASAN but the correlation we've found is too weak to support
>> our hypothesis.
>>
>> I am attaching a chart showing the correlation we've computed. We've used
>> the following notation:
>>
>> time_ratio = (time without asan) / (time with asan)
>> stores_visible = stores_instructions_IR / stores_total
>> loads_visible = loads_instructions_IR / loads_total
>>
>> However, the hypothesis still makes sense for us. Therefore, we think we
>> might be missing a few factors. So, if we would like to predict the ASAN
>> performance overhead on a program, which instructions, other than
>> loads/stores, are more likely to cause Address Sanitizer to slowdown the
>> program?
>>
>> Regards,
>>
>> Guilherme
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "address-sanitizer" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to address-sanitizer+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups
> "address-sanitizer" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to address-sanitizer+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"address-sanitizer" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to address-sanitizer+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to