On Fri, Jul 17, 2009 at 8:12 AM, Nicolas Sylvain <[email protected]>wrote:
> > > On Fri, Jul 17, 2009 at 7:40 AM, Dan Kegel <[email protected]> wrote: > >> On Fri, Jul 17, 2009 at 2:34 PM, Thomas Van Lenten<[email protected]> >> wrote: >> >> We're already running at -O1 on Linux, so there isn't much improvement >> >> left to be had, I suspect. It might be worth it, dunno. >> > >> > There is a lot of code cut out by being NDEBUG instead of DEBUG, that's >> > where I think the mac is getting its speed up. Yesterdays mac valgrind >> runs >> > on the main waterfall were actually -O0 while we waited for the v8 issue >> to >> > be fixed and they saw that speed up. >> >> FWIW, I saw a noticable speedup from goint to -O1. Glad to >> hear there's more to be had. I guess I'll try it. > > > On Windows we also use a release build without optimization. Purify can > barely run with a debug build. > 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 -~----------~----~----~----~------~----~------~--~---
