incubator-allura-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tim Van Steenburgh" <vansteenbu...@users.sf.net>
Subject [allura:tickets] #6734 Research using re2 as a replacement for re module
Date Thu, 03 Oct 2013 18:49:49 GMT
allura:tv/6734

TL;DR: `re2` turns out to be 20x slower than `re` for our use cases.

Added `md_perf.py` script for timing/profiling discussion thread rendering.

re2 can't be used as a drop-in replacement in Markdown b/c back-referencing regexes are prevalent
in Markdown, and not supported by re2.

Profiling showed that for the slow-to-render posts, all the time was being spent regex matching
in the HtmlPattern class in markdown.inlinepatterns. I tried to use re2 just in this class,
but the resulting performance was 20x slower than with re.

Conclusion: Speeding up our MD-rendering won't be as easy as just dropping in re2. Rendering
with ForgeExtensions is about 50% slower than with a vanilla Markdown() instance, so perf
gains there may be possible. Best option may be to simply cache the MD-converted values instead
of rendering them on-the-fly.


---

** [tickets:#6734] Research using re2 as a replacement for re module**

**Status:** closed
**Created:** Thu Oct 03, 2013 06:37 PM UTC by Tim Van Steenburgh
**Last Updated:** Thu Oct 03, 2013 06:37 PM UTC
**Owner:** Tim Van Steenburgh

In researching slow-rendering discussion threads, it was discovered that some individual posts
are taking a long time to render. The posts in question are sizable (23k) chunks of plain
html. See is re2 can be used to speed up the rendering.




---

Sent from sourceforge.net because allura-dev@incubator.apache.org is subscribed to https://sourceforge.net/p/allura/tickets/

To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/allura/admin/tickets/options.
 Or, if this is a mailing list, you can unsubscribe from the mailing list.
Mime
  • Unnamed multipart/related (inline, None, 0 bytes)
View raw message