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 -~----------~----~----~----~------~----~------~--~---
