I concur with Ben.  Profiling can be specified at configure time.

To me, switching between opt and dbg is something I do all day long
while profiling is generally more deliberate.  When I want to profile
I am going to set everything up for that and do it for a while.  It is
much less frequent, and not mixed in with my normal daily development
cycle...

Derek

Sent from my iPhone

On Nov 28, 2012, at 1:51 PM, "Kirk, Benjamin (JSC-EG311)"
<benjamin.kir...@nasa.gov> wrote:

>
> On Nov 28, 2012, at 2:30 PM, Roy Stogner <royst...@ices.utexas.edu> wrote:
>
>> On Wed, 28 Nov 2012, Kirk, Benjamin (JSC-EG311) wrote:
>>
>>> If at all possible I'd rather treat that as --enable-gprof and add
>>> the flags to the existing dbg, devel, opt flags
>>
>> The trouble with this is that the gprof and oprof flags aren't without
>> cost.  IIRC "-pg" adds in extra code (including synchronous writes to
>> disk!!); "-fno-omit-frame-pointer" turns off an optimization that even
>> "-O" includes by default; and I suppose even "-g" must have some cost
>> or we'd have added it to METHOD=opt already.
>>
>> So if you mix profiling with optimization, the result isn't really
>> optimized.
>>
>> But if you mix profiling with debug/devel modes, then your runtime
>> data is all swamped by the costs of internal tests and disabled
>> optimizations, so the result isn't really profiling.
>
> Yeah, but with a --prefix you can put a pure opt somewhere and a gprof, 
> oprofile, vtune, and whatever else comes along somewhere else.  To me anyway 
> this is much preferable to maintaining multiple method rules and targets.
>
> opt,dbg, and devel are materially different not so much because of the 
> compiler flags (important, but doesn't change the fundamental nature of the 
> code being compiled) but rather the CPPFLAGS - -DNDEBUG, -DDEBUG, <> 
> respectively.
>
> Aside - my understanding is the only cost to "-g" is file size, and there are 
> 'make install-strip' targets for that for those who care - it will strip the 
> symbols at install time.  That's why the default CXXFLAGS unless you do 
> something special become '-g -O2'.
>
> -Ben
>
>
> ------------------------------------------------------------------------------
> Keep yourself connected to Go Parallel:
> INSIGHTS What's next for parallel hardware, programming and related areas?
> Interviews and blogs by thought leaders keep you ahead of the curve.
> http://goparallel.sourceforge.net
> _______________________________________________
> Libmesh-devel mailing list
> Libmesh-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/libmesh-devel

------------------------------------------------------------------------------
Keep yourself connected to Go Parallel: 
INSIGHTS What's next for parallel hardware, programming and related areas?
Interviews and blogs by thought leaders keep you ahead of the curve.
http://goparallel.sourceforge.net
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to