Naoki INADA schrieb:

>>> 2. Avoid building OptionParser many times.
>>> Sphinx uses docutils.core.publish_parts() without `settings` argument
>>> many times.
>>> This causes building docutils.frontend.OptionParser many times and consumes
>>> 29 seconds.
>>>
>>> 3. Avoid building NestedStateMachine many times.
>>> NestedStateMachine is built and destroyed many times.
>>> Recycling that SM make significant performance gain.
>>
>> I assume that both of this is in the second commit I see on bitbucket?  Both
>> look like a worthy optimization.
> 
> Former is in bitbucket.
> http://bitbucket.org/methane/sphinx-speedup/changeset/72fa0ceefcae/

Thanks, merged!  When porterstemmer is mature I'd also like to include it in
the Sphinx distribution as an optional extension.

> And later is not in bitbucket because NestedStateMachine is not in Sphinx
> but docutils.

OK, let's see. I'd first try to get the patch into docutils, after passing the
tests.  However, since most people will be using docutils 0.4 or 0.5 it might
also make sense to make a monkey-patch version for sphinx, like the traverse 
one.

Georg


_______________________________________________
Doc-SIG maillist  -  Doc-SIG@python.org
http://mail.python.org/mailman/listinfo/doc-sig

Reply via email to