Re: Speeding up gtk-doc



On Thu, 2003-12-18 at 05:29, Callum McKenzie wrote:
> 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 ?

You mean the parts of the docs where authors can add any DocBook text
they want?

I'm not really keen on restricting the set of DocBook tags that authors
can use, unless it is stuff that is never used at all.

The yelp stylesheets have been a pain for me. I think the Glade FAQ
document still doesn't work because they didn't add support for the
DocBook FAQ tags. And I didn't know until now why this was done.

(There was a time when the GTK+ docs took me 35 minutes to build, so 69
seconds isn't that bad!)

> 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.)

I agree with Mathias that it would be much better to try to fix the
speed problems in the stylesheets or in the code. That will help
everyone who uses them.

Damon





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