I'm still working on my doxylink extension [1] and it's reached the
level of power now when speed is becoming an issue.

The way doxylink works is that it scans an XML file generated by
Doxygen (called a 'tag file') and pulls out C++ symbols. It puts them
into a dictionary which maps symbol names to the location of the HTML
file documenting them.

The problem I'm now facing is that the parsing of the XML file can
take quite some time (~6 seconds for openbabel, up to ~45 seconds for
OGRE3D and obviously even more for larger projects). What I'd like to
be able to do is cache this mapping dictionary to disk (pickled I
guess) so that it only needs to be parsed on the first Sphinx run. Of
course, this pickled file will need to be regenerated whenever the tag
file has changed and all the roles provided by doxylink will need to
be re-processed.

While parts of this can obviously be done with plain Python, I was
wondering how it should be done within the framework of Sphinx. This
is particularly needed in order to re-evaluate the roles when the file
has changed.

Regards,
Matt

[1] http://pypi.python.org/pypi/sphinxcontrib-doxylink

-- 
You received this message because you are subscribed to the Google Groups 
"sphinx-dev" group.
To post to this group, send email to sphinx-...@googlegroups.com.
To unsubscribe from this group, send email to 
sphinx-dev+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sphinx-dev?hl=en.

Reply via email to