Right, we use -O1 instead of -O2 or -O0 with valgrind; it strikes a good
balance between good stack and speed.

On Jul 17, 2009 9:46 AM, "Erik Kay" <[email protected]> wrote:

On Fri, Jul 17, 2009 at 8:12 AM, Nicolas Sylvain <[email protected]>
wrote: > > > > On Fri, Jul ...
One other tradeoff to consider with these build options for valgrind is
quality and consistency of stack traces.  I don't know how much of an issue
this has been for valgrind, but I'll share the Purify side of it with you.

As Nicolas points out, Purify runs a Release build with no optimizations,
and some linker options disabled.  Running release is a huge performance
improvement since it gets rid of a lot of extra code that's being run.
 Minimizing the optimizations allows for more consistent stack traces since
levels of the stack aren't getting optimized away and line number info is
more accurate.  Further, we disable COMDAT folding in the linker, which with
visual studio combines identical code into the same entry point.  This is a
great optimization for code like ours that uses templates heavily, but it
winds up making the stacks less understandable and less deterministic.

Erik

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: [email protected] 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to