Page MenuHomePhabricator

Allow client to send back empty top-level sections if they are unchanged
Open, LowPublic40 Estimated Story Points

Description

When an editor (VE) is sure a whole top level section hasn't been touched, we could send back

<p id="mwAB" data-parsoid-unchanged></p>

with all the content stripped.

For a typical edit on a long article, this would cut out most of the data we have to send back (for which we can't use HTTP compression and have to try to do it the client (T68914), which can be slow too).

Local tests on a copy of [[Barack Obama]]:

DocumentFullOne paragraph%age
convert215ms22ms-90%
deflate303ms26ms-91%
upload9000ms888ms-90%
total9518ms936ms-90%

Event Timeline

Change 303441 had a related patch set uploaded (by Esanders):
WIP Partially convert just the modified parts of the document

https://gerrit.wikimedia.org/r/303441

This would also dramatically increase ve.dm.Converter times and we'd skip over most of the document. On my (very fast) machine, [[San Francisco]] takes:

  • 310ms to convert to HTML
  • 240ms to zip
  • 8s to upload (on a fast fibre connection)

With partial conversion I'd expect all of these numbers to drop by over 90% for a typical edit (i.e. covering a few paragraphs/templates/images).

Local tests on a copy of [[Barack Obama]]:

Full document:
convert: 215ms
deflate: 303ms
upload: 9s

Partial conversion of one paragraph:
convert: 22ms
deflate: 26ms
upload: 888ms