Ideas to speed up the processing of large documents

From: Simon Larochelle <larochelle.simon.1_at_gmail.com>
Date: Wed Mar 28 2012 - 02:14:07 CEST

Some suggestions for the students applying to GSoC: two ideas to speed
up the processing of large documents.

1) Presently fb_ColumnBreaker::_breakSection() checks every page after
the insertion point if a new line is inserted. It should check if the
last container inserted on each page is the same as previously and
then stop at this page as there are no other changes in the document.
As an example, if we add a line on page 1 and there is extra space on
page 2, there is no need to check page 3, 4 ...

2) We should also be able to get some improvement by making use of
page breaks. Presently, a new page is always added at the end of the
document. We could instead add it at the nearest page break from the
newly inserted text. In this way, we would only need to do minimal
modifications of the text after the page break (page numbers, possibly
headers and footers (odd/even pages), possibly footnote and endnote
numbers). So as long as a document has the usual formatting (divided
in chapters with a page break before each chapters), editing a large
document would not be much more costly than editing a document
composed of only one of the chapters.

Simon
Received on Wed Mar 28 02:14:15 2012

This archive was generated by hypermail 2.1.8 : Wed Mar 28 2012 - 02:14:15 CEST