OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [docbook-apps] gentext.template eats 1/3 of CPU


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
bobs@sagehill.net


----- Original Message ----- 
From: "Stefan Kost" <ensonic@hora-obscura.de>
To: <docbook-apps@lists.oasis-open.org>
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: docbook-apps-unsubscribe@lists.oasis-open.org
> For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org
>
>
> 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]