Re: Speeding up gtk-doc

> As everyone knows gtk-doc is horribly slow when converting docbook to
> html. The problem lies partly in docbook being so painfully huge and
> partly in it's poor handling of chunking. The yelp people solved this
> problem by rewriting the xsl stylesheets to only support the subset of
> docbook that they used. It strikes me that since gtk-doc uses an even
> more restricted version of docbook (except for the template files, which
> aren't restricted) it shouldn't be too difficult to write a replacement
> stand-alone gtk-doc.xsl that is an order of magnitude faster than
> docbook's xsl (and probably faster than yelp's). 
> I have had a brief go at this problem, it isn't functional but suggests
> that the order of magnitude speed-up is feasible and is worth pursuing.
> I am prepared to continue with this and see what happens, but I have a
> few questions :
> 1) What about the template code ? Handling the list Aaron suggests in
> the proposed authors.html file is easy but general docbook isn't. Is it
> acceptable to reject (or silently ignore) stuff that isn't understood by
> my style-sheet ?

I think it would be ok to nail down a reasonable docbook subset for gtk-docs
and have stylesheets support only that. But it would be important to clearly
the supported subset both as a dtd for validation purposes and in prose for

> 2) Is there serious interest in this ? i.e. is it desirable to sacrifice
> docbook compliance for speed ? (I'm prepared to accept a "we'll see what
> it looks like" answer.)

While I agree that gtk-doc is very slow, I don't think thats a big problem.
Nobody is forced
to rebuild the docs daily, just use --disable-gtk-doc. Therefore I wouldn't
put a lot of effort
into optimizing that. It might be better to work on speeding up Norms
stylesheets. The savings
will probably much smaller, but the audience will be several orders of a
magnitude larger.


+++ GMX - die erste Adresse für Mail, Message, More +++
Neu: Preissenkung für MMS und FreeMMS!

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]