Re: [xslt] xslt callgraph
- From: Stefan Kost <ensonic hora-obscura de>
- To: The Gnome XSLT library mailing-list <xslt gnome org>
- Subject: Re: [xslt] xslt callgraph
- Date: Mon, 08 Mar 2010 15:16:37 +0200
Stefan Kost wrote:
> hi,
>
> xsltproc --profile is quite helpful to find out in which parts of xsl
> style sheets most time ist spend. Now if one want to optimize that there
> are always two ways:
> 1.) make the hostspots use less cpu
> 2.) avoid calling expensive functions
>
> For that a callgraph is useful. WHen using oprofile to profile code I
> use this script [1] to render the call graph. The script could easily
> adapted to render a xslt callgraph if xsltproc could output the needed data.
>
Talk is cheap, but here is a patch:
https://bugzilla.gnome.org/show_bug.cgi?id=612186
What I don't like so much still:
1) it needs a small hack fro gprof2dot - I am discussing with the author
already
2) could someone tell me where to properly free the profile arrays in
xsltTemplate?
3) I'd like to print the function index (like in gprof), but for that I
would need to know the origin for each template (source:file)
probably via templ->style->doc->URL and templ->elem->line
Comment welcome
Stefan
> Right now output of --profile is like this:
> number match name mode Calls Tot
> 100us Avg
>
> 0 gentext.template 120292
> 1356556 11
> 1 chunk 118816
> 457122 3
> 2 * recursive-chunk-filename
>
> In oprofile orreport --c (callgraph) output looks like this:
>
> samples % image name app name
> symbol name
> -------------------------------------------------------------------------------
> 36 100.000 /usr/lib/libgtk-x11-2.0.so.0.1800.3
> /usr/lib/libgtk-x11-2.0.so.0.1800.3 gtk_main_do_event
> 0 0 /usr/lib/libgtk-x11-2.0.so.0.1800.3
> /usr/lib/libgtk-x11-2.0.so.0.1800.3 gtk_propagate_event
> 41 97.6190 /usr/lib/libgtk-x11-2.0.so.0.1800.3
> /usr/lib/libgtk-x11-2.0.so.0.1800.3 gtk_widget_event_internal
> 1 2.3810 /usr/lib/libgdk-x11-2.0.so.0.1800.3
> /usr/lib/libgtk-x11-2.0.so.0.1800.3 gdk_window_is_viewable
> 0 0 /usr/lib/libgtk-x11-2.0.so.0.1800.3
> /usr/lib/libgtk-x11-2.0.so.0.1800.3 gtk_propagate_event [self]
> -------------------------------------------------------------------------------
>
> Would it be possible for xsltproc to output something similar? E.g.
>
> % name
> -------------------------------------------------------------------------------
> 100 gentext.template
> 78 chunk
> ...
> -------------------------------------------------------------------------------
> <next entry>
>
>
> Stefan
>
> [1] http://code.google.com/p/jrfonseca/wiki/Gprof2Dot
> _______________________________________________
> xslt mailing list, project page http://xmlsoft.org/XSLT/
> xslt gnome org
> http://mail.gnome.org/mailman/listinfo/xslt
>
[
Date Prev][
Date Next] [
Thread Prev][Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]