gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Looking for help profiling GNUstep programs


From: Fred Kiefer
Subject: Re: Looking for help profiling GNUstep programs
Date: Fri, 01 Jul 2005 18:35:05 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.7) Gecko/20050414

Richard Frith-Macdonald wrote:
> On 2005-06-30 15:20:33 +0100 Andrew Ruder <address@hidden> wrote:
> 
>> Richard Frith-Macdonald wrote:
>>> Am I doing something stupid? Does anyone have experience with
>>> profiling share objc libraries (I'm working on debian unstable
>>> intel).
>> 
>> I've had a good deal of luck with oprofile (which requires a kernel
>>  component) for debugging gnustep.  With a 2.6.12 kernel, a kernel 
>> patch is not required even for the callgraph support.  Simply
>> compile with debug symbols, start the oprofile daemon, run your
>> program (in fact, you can even start oprofile daemon while the
>> program is running, i believe, if you want to just profile a
>> certain section).  Oprofile can even output gprof compatible
>> output.
> 
> Thanks ... I'm already in the process of downloading the kernel
> packages etc to try oprofile (I don't have broadband) as it was the
> next thing I was going to try. Good to hear that it works well ...
> 
> I had forgotten that callgrind existed (though I use valgrind quite 
> often) ... so perhaps I'll look at that too.
> 
Hi Richard,

here is an extract from a mail I send three years ago to this list. It
is about profiling of GNUstep as a dynamic library. That way you wont
see the exact palce where time gets wasted, but it should let you pin
down areas that affect programs using GNUstep libraries:

Now that the performance of GNUstep applications once again becomes a
discussed issue, it seems like a perfect time to me to publish the
measurements I did. But I don't have the sligthest idea what conclusions
to draw from them.
As Nicola wrote some months ago, it is fairly easy to profile a GNUstep
application on a system that supports dynamic loading of libraries.
GLIBC has build in support for profiling, all you have to do is to put
the library you want to profile into the environment variable
LD_PROFILE. In my bash this gets done for the base library via:

export LD_PROFILE=libgnustep-base.so.1

Than run your application as usual and use sprof to view the result:

sprof libgnustep-base.so.1 /var/tmp/libgnustep-base.so.1.profile






reply via email to

[Prev in Thread] Current Thread [Next in Thread]