Hi, Quoting Binary Chen <[EMAIL PROTECTED]>:
> 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 > _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list