Pydocweb is very slow when handling the long Python doc pages.
Profiling what takes so much time in rendering these pages is probably needed. One possibility is that unknown reference targets cost much; currently the function:: et al directives don't work, so there are lots of them.
Comment #1
Posted on Sep 15, 2008 by Grumpy Monkey(No comment was entered for this change.)
Comment #2
Posted on Sep 22, 2008 by Grumpy Monkey(No comment was entered for this change.)
Comment #3
Posted on Oct 5, 2008 by Grumpy MonkeySlowness in reference resolution was fixed in r395, r396.
However, rendering eg. library/functions.rst can take long (5s on my machine). Profile shows that:
1 0.000 0.000 8.186 8.186 rst.py:70(render_html)
127/78 0.003 0.000 4.269 0.055 rst_sphinx.py:79(new_directive) 127/78 0.004 0.000 4.254 0.055 rst_sphinx.py:27(_nested_parse) 220 0.008 0.000 0.919 0.004 rst.py:32(resolver) 220 0.009 0.000 0.898 0.004 rst.py:56(_resolve_name) 220 0.015 0.000 0.407 0.002 rst_sphinx.py:177(ref_role)
indicating that ~50% of time is spent in parsing content inside the custom directives, ~10% in reference resolution, and 40% somewhere else in RST processing.
I'm not sure if it's even possible to improve the RST processing speed, as the time appears to be spent inside docutils. Caching may help.
Comment #4
Posted on Oct 13, 2008 by Grumpy MonkeyRendered RST caching is in r406. Probably can't do much better... -> Fixed.
Status: Fixed
Labels:
Type-Defect
Severity-Major
Performance