NEW 261123
Performance improvement for the word boundary finding algorithm (findNextWordFromIndex)
https://bugs.webkit.org/show_bug.cgi?id=261123
Summary Performance improvement for the word boundary finding algorithm (findNextWord...
Ahmad Saleem
Reported 2023-09-04 14:23:29 PDT
Hi Team, While going through Blink's commit, I came across test case, where Safari hangs (it is performance test case, so it is kind of edge case). Both Chrome Canary 118 and Firefox Nightly 118 are fast and complete it in 3xx milliseconds while I am unable to see timing for Safari due to hangs. Test Case - in URL field. Just wanted to raise so we can fix it. Thanks!
Attachments
Karl Dubost
Comment 1 2023-09-04 18:17:38 PDT
This is indeed failing quite hard.
Radar WebKit Bug Importer
Comment 2 2023-09-04 18:17:46 PDT
zalan
Comment 3 2023-09-05 10:18:48 PDT
Looks like we spend some time in nextWordFromIndex:forward 32.79 s 82.2% 0 s WebCore::jsDOMSelectionPrototypeFunction_modify(JSC::JSGlobalObject*, JSC::CallFrame*) 32.79 s 82.2% 0 s WebCore::DOMSelection::modify(WTF::String const&, WTF::String const&, WTF::String const&) 32.79 s 82.2% 0 s WebCore::FrameSelection::modify(WebCore::FrameSelection::EAlteration, WebCore::SelectionDirection, WebCore::TextGranularity, WebCore::EUserTriggered) 32.79 s 82.2% 0 s WebCore::FrameSelection::modifyExtendingForward(WebCore::TextGranularity) 32.79 s 82.2% 0 s WebCore::FrameSelection::nextWordPositionForPlatform(WebCore::VisiblePosition const&) 32.79 s 82.2% 0 s WebCore::nextWordPosition(WebCore::VisiblePosition const&) 32.79 s 82.2% 0 s WebCore::nextBoundary(WebCore::VisiblePosition const&, unsigned int (*)(WTF::StringView, unsigned int, WebCore::BoundarySearchContextAvailability, bool&)) 32.79 s 82.2% 0 s WebCore::forwardSearchForBoundaryWithTextIterator(WebCore::TextIterator&, WTF::Vector<char16_t, 1024ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>&, unsigned int, unsigned int (*)(WTF::StringView, unsigned int, WebCore::BoundarySearchContextAvailability, bool&)) 29.34 s 73.6% 0 s WebCore::findNextWordFromIndex(WTF::StringView, int, bool) 27.03 s 67.8% 0 s -[NSAttributedString(NSAttributedStringUIFoundationAdditions) nextWordFromIndex:forward:] (changing component to editing)
Note You need to log in before you can comment on or make changes to this bug.