Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


Hi, Kohei,

Just an update on improving import performance of setting style ranges in george-ou-perf.ods...

I've been slowly stepping through code, looking at callgrind outputs, and looking at the document xml to try to understand how this area of code and xml work. (Actually, I'm using a very small sample of george-ou-perf.ods right now except for my initial callgrind run to identify where most of the time is being spent.)

What I think right now is that the main culprit is that as style ranges are set, ScCellRangesBase::GetMarkData is called multiple times which causes even more calls to ScMarkArray::SetMarkArea where most of the time is spent. These multiple calls to ScCellRangesBase::GetMarkData are happening because the data that ScCellRangesBase::GetMarkData gets is being reset every time a style range is added. I'm trying to see if we can stop resetting this data and just append instead.

Ideally, I will able implement a partial conversion from UNO to direct sc to altogether avoid the ScCellRangeBase implementation family for this case of style import.

I think a full-out styles ODS conversion from UNO to direct Sc isn't likely before next Monday, :-) but I may be able to do a partial conversion in this area or at least find some fix to prevent wasted time here.


Respectfully,
Daniel Bankston

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.