Last modified: 2014-11-03 04:22:37 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T74205, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 72205 - Parser::doBlockLevels performs poorly under HHVM
Parser::doBlockLevels performs poorly under HHVM
Status: NEW
Product: MediaWiki
Classification: Unclassified
Parser (Other open bugs)
unspecified
All All
: High normal (vote)
: ---
Assigned To: Tim Starling
: hhvm
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-10-18 00:53 UTC by Ori Livneh
Modified: 2014-11-03 04:22 UTC (History)
5 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Ori Livneh 2014-10-18 00:53:58 UTC
Parser::doBlockLevels() constructs regular expressions with unique strip markers. Each regular expression pattern is turned into a StaticString, which HHVM uses as a lookup key for the cached PCRE table. Since patterns with strip markers are unique by design, they are cache misses, and they get compiled and cached.

The results are:
* The PCRE table fills up with garbage (patterns that are identical save for the strip markers).
* Memory bloats with pattern StaticStrings.
Comment 1 Gerrit Notification Bot 2014-10-19 20:59:53 UTC
Change 167411 had a related patch set uploaded by Ori.livneh:
Use a fixed regex for StripState

https://gerrit.wikimedia.org/r/167411
Comment 2 Gerrit Notification Bot 2014-10-19 22:52:47 UTC
Change 167411 merged by jenkins-bot:
Use a fixed regex for StripState

https://gerrit.wikimedia.org/r/167411
Comment 3 Gerrit Notification Bot 2014-10-20 04:47:24 UTC
Change 167530 had a related patch set uploaded by Ori.livneh:
Re-use marker strings across requests

https://gerrit.wikimedia.org/r/167530
Comment 4 Krinkle 2014-10-23 02:08:27 UTC
(In reply to Gerrit Notification Bot from comment #2)
> Change 167411 merged by jenkins-bot:
> Use a fixed regex for StripState
> 
> https://gerrit.wikimedia.org/r/167411

This patch was reverted in change Ic193abcff8c72b0c8b.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links