I am sorry, but I had to revert this patch because it was causing crashes in Windows build when loading any document into writer or when trying to save a document from writer. It would be nice to check on windows to see whether it can be fixed, but we did not have much time for that now, so I just reverted. Sorry again F. On 06/09/11 19:22, Bjoern Michaelsen wrote:
On Tue, 6 Sep 2011 17:36:18 +0200 Christoph Lutz <chrlutz@googlemail.com> wrote:today I managed to improve the patch again. The patch now speeds up our mailmerge-Szenario enormously and seems to eliminate the exponential waste of cpu-cycles. Would you please have a look at it? here some measurings: MailMerge-Time (in ms) without patch for 10, 50, 100, 150 datasets: 2793, 11821, 28608, 64395 MailMerge-Time (in ms) with first patch for 10, 50, 100, 150 datasets: 2561, 11044, 26226, 55812 MailMerge-Time (in ms) with this patch for 10, 50, 100, 150 datasets: 1838, 7357, 14413, 21558Wow, great win! Pushed as: http://cgit.freedesktop.org/libreoffice/core/commit/?id=e024f616934bb78fba8c8101264806d507068d7e with some minor tuning: - formatting (whitespace mostly) - constness Could you maybe try, if a pragmatic: m_aMarkBasenameMapUniqueOffset.clear(); at: http://cgit.freedesktop.org/libreoffice/core/tree/sw/source/core/doc/docbm.cxx?id=e024f616934bb78fba8c8101264806d507068d7e#n491 and http://cgit.freedesktop.org/libreoffice/core/tree/sw/source/core/doc/docbm.cxx?id=e024f616934bb78fba8c8101264806d507068d7e#n743 kills the performance gain? If not, that would prevent the behavior change in for example the scenario: - Create Mark - Copy Mark - Copy Mark - Delete First Copied Mark - Copy Mark Best, Bjoern