https://bugs.freedesktop.org/show_bug.cgi?id=79422
--- Comment #12 from Seyeong Kim <[email protected]> --- right if there are around 40000 rows. then assume that replaced 6200 rows. Join() called 6200 count and inside Join(), loop from 0~0 to 0~6200. this is actual replace job. after replaceall, trigger to call Join() every time above. below is function call i found. 1. when push replaceall button in sc directory something more for handle click ScDocument::SearchAndReplace ScTable::SearchAndReplace ScTable::ReplaceAll ScRangeList::Join 2. triggering every time svx/source/dialog/srchdlg.cxx IMPL_LINK(SvxSearchDialog, TimeoutHdl_Impl, Timer*, pTimer) trigerring then in sc directory ScDocument::GetSelectionFunction ScTable::UpdateSelectionFunction ScColumn::UpdateSelectionFunction ( here loop 1024 if selected col is only 1 ) ColumnSpanSet::set ScMarkData::GetMarkedRanges ScMarkData::FillRangeListWithMarks ScRangeList::Join ( slow ) I disabled #2 function. then after replace all cpu 100% usage not happened. i know it's wrong but i just tested. I modified ScColumn::UpdateSelectionFunction to loop only selected col times for testing. but it was not enough. -- You are receiving this mail because: You are the assignee for the bug.
_______________________________________________ Libreoffice-bugs mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs
