Hi Stefan,
Pretty much every title and xref, as well as any other generated text, is processed by
the gentext machinery. That's how DocBook handles content in the 65 supported
languages, including content with a mix of languages. And every title is usually
processed more than once, in its location and in the TOC. I think it would be
difficult to bypass the gentext machinery, since it is part of the architecture of the
stylesheets.
I don't think any of the developers would disagree if I said that the DocBook XSL
stylesheets are not optimized for speed, but for supporting the large array of
features and options, as well as supporting customization. I had a client who needed
speed and did not need all the features, options, and customizations, so I wrote a new
set of XSL templates that did exactly what they wanted for the elements they were
using, and no more. They were fast. And they were simple enough for them to
maintain.
Bob Stayton
Sagehill Enterprises
[email protected]
----- Original Message -----
From: "Stefan Kost" <[email protected]>
To: <[email protected]>
Sent: Monday, March 08, 2010 6:29 AM
Subject: [docbook-apps] gentext.template eats 1/3 of CPU
hi,
I have a first version of a callgraph profiler for libxml/libxslt
(https://bugzilla.gnome.org/show_bug.cgi?id=612186). With this I looked
at profiles for applying the docbook stylesheets. These are the topmost
entries:
index % time self children called name
0.043 0.380 1947/3287 gentext.template.exists [4]
0.002 0.397 234/3287 *[object.title.template]
[49]
0.380 0.380 1071/3287 gentext.template [0]
0.000 0.397 17/3287
part[object.title.template] [90]
0.000 0.397 18/3287
chapter[object.title.template] [102]
[0] 33.26 0.380 0.380 3287 gentext.template [0]
0.380 0.380 1071/1071 gentext.template [0]
-----------------------------------------------
0.009 0.149 786/3967 *[find.chunks] [19]
0.010 0.154 738/3967 href.target.uri [18]
0.012 0.241 754/3967 *[chunk-filename] [16]
0.056 0.202 1638/3967
*[recursive-chunk-filename] [2]
0.001 0.136 35/3967 in.other.chunk [76]
0.001 0.173 16/3967 process-chunk [55]
[1] 11.84 0.135 0.000 3967 chunk [1]
-----------------------------------------------
lines with [x] in begin are the templates. lines above the callers,
lines below the callees. Any idea how to make gentext.template less
slow? Or make it called less often. There sees to be many:
match="*" mode="object.title.template"
and
match="*" mode="object.title.markup"
leading to it, but I can't see any template that uses e.g.
mode="object.title.markup"? Any ideas?
Stefan
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]