Re: Profiling GTK within an application



Hi,

Quoting Binary Chen <binary chen gmail com>:

On Sat, 2007-10-27 at 11:06 +0300, Stefan Kost wrote:
Chris Rorvick schrieb:
> I'm attempting to profile GTK in an application and I'm wondering what
> methodology others use to accomplish this.  Is there any documentation
> that addresses this topic that I should refer to?  Any caveats worth
> pointing out?  Here is where I'm at ...
>
> I recently upgraded an application using GTK 2.6 to use GTK 2.10,
> quickly followed by an upgrade to 2.12.  In both cases, the upgraded
> version of the application consumed 3-5x the CPU as compared to the
> original version using 2.6.  This comparison was done anecdotally using
> top on a Solaris workstation.
>
This is most likely caused by cairo. You should also see a bit less CPU usage in 2.12 compared to 2.10 (or more precise newer cairo should perform a bit better).

Which version of cairo will cause this problem, more precise?

gtk-2.6 does not use cairo at all. newer version do and were causing a bit of slowdown. On devices without FPU its quite a notable slowdown as cairo uses floating point math here and there.

Stefan


>
> My first step was to have profiled versions of these libraries built in
> the hope that I could use them to isolate where the additional cycles
> were being burned.  Several builds and profiled runs later, and after a
> fair amount of searching the Internet, I've concluded that I'll never
> get anything out of shared objects instrumented with GCC; all code to be
> profiled must be statically linked.  If you know this to be untrue,
> please let me know!  :)  My plan now is to build static versions of all
> GTK libraries instrumented for profiling and link against those.
>
I would suggest to use a sampling profiler, like oprofile, sysprof, but all
those are linux profilers (they need a kernel module). But I am sure there a
sampling profilers for solaris too. The advantage is that you don't need to
recompile your apps (given you have debug symbols alreday) and it works with
shared libs too.

Stefan


> FYI, Our platform is Solaris 10 (x86) compiling with GCC 3.4.
>
> Thanks in advance,
>
> Chris Rorvick
> _______________________________________________
> gtk-app-devel-list mailing list
> gtk-app-devel-list gnome org
> http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list






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