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: stripping the stylesheets


I am the maintainer of gtk-doc [1] - the api documentation tool for the gnome
desktop project. It consists of perl scripts that generate a docbook document
and call xsltproc to generate html by using the docbook stylesheets.

Doing that for some bigger libraries can easily take several minutes on a
average machine. This is the biggest complaint I get from developers. Other
tools like Doxygen that are not using docbook do the same in seconds.

The whole process is not very parametric. The docs all look the same. Basically
one static customisation on top of the docbooks stylesheets and lots of documents.

Now I am trying to systematicaly check what can be made faster and how.

I have done lots of profiling - nothing obvious

xsltproc --profile
Now thatks to this I started to realize that the stylesheets are vergy generic
and contain many things that are not needed for e.g. my particular usecase. One
example is the l10n support. I've started to define several templates as dummies
myself (look for l10n in [2]). This saved me 15% of the processing time.

Now I wonder if there is some simillar experience or even some guideline how to
deal with that situation? Are there known 'optional' features that easily can be
tuned off and of which is known that they make things slower.
(Please note that gtk-doc already generation reference index lists - that was
previously there slowest thing.)

I also wonder if people have ideas what would be needed to allow tools to create
a stripped down version of the stylesheets. If this is sort of automated, then
this would be a one time activity for each new version of the stylesheets.


[1] http://www.gtk.org/gtk-doc/
[2] http://git.gnome.org/browse/gtk-doc/tree/gtk-doc.xsl

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