https://bugs.freedesktop.org/show_bug.cgi?id=79422

--- Comment #13 from Seyeong Kim <seyeong....@canonical.com> ---

(In reply to comment #12)
> 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
>


here 
ScTabViewShell::HasSelecthion first


> 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
Libreoffice-bugs@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to