Bug 258490 - Speedometer 3: Charts-chartjs spends a lot of CPU time in RenderImage::updateInnerContentRect
Summary: Speedometer 3: Charts-chartjs spends a lot of CPU time in RenderImage::update...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Images (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Ryosuke Niwa
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2023-06-24 01:42 PDT by Ryosuke Niwa
Modified: 2023-06-24 16:49 PDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ryosuke Niwa 2023-06-24 01:42:21 PDT
We’re busy resolving URLs in Document::completeURL. That’s the majority of layout time in this subtest:

https://speedometer-preview.netlify.app/?developerMode=&suites=Charts-observable-plot,Charts-chartjs#home 

Sample Count, Samples %, Normalized CPU %, Symbol
13, 26.5%, 2.1%, WebCore::RenderBlock::simplifiedNormalFlowLayout() (in WebCore)
13, 26.5%, 2.1%,     WebCore::RenderBlock::layout() (in WebCore)
13, 26.5%, 2.1%,         WebCore::RenderFlexibleBox::layoutBlock(bool, WebCore::LayoutUnit) (in WebCore)
13, 26.5%, 2.1%,             WebCore::RenderBlock::simplifiedLayout() (in WebCore)
13, 26.5%, 2.1%,                 WebCore::RenderBlock::layoutPositionedObject(WebCore::RenderBox&, bool, bool) (in WebCore)
13, 26.5%, 2.1%,                     WebCore::RenderBlock::layout() (in WebCore)
13, 26.5%, 2.1%,                         WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit) (in WebCore)
13, 26.5%, 2.1%,                             WebCore::RenderBlock::simplifiedLayout() (in WebCore)
13, 26.5%, 2.1%,                                 WebCore::RenderBlock::layoutPositionedObject(WebCore::RenderBox&, bool, bool) (in WebCore)
13, 26.5%, 2.1%,                                     WebCore::RenderBlock::layout() (in WebCore)
13, 26.5%, 2.1%,                                         WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit) (in WebCore)
13, 26.5%, 2.1%,                                             WebCore::RenderBlock::simplifiedLayout() (in WebCore)
13, 26.5%, 2.1%,                                                 WebCore::RenderBlock::layoutPositionedObject(WebCore::RenderBox&, bool, bool) (in WebCore)
13, 26.5%, 2.1%,                                                     WebCore::RenderBlock::layout() (in WebCore)
13, 26.5%, 2.1%,                                                         WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit) (in WebCore)
13, 26.5%, 2.1%,                                                             WebCore::RenderBlock::layoutPositionedObject(WebCore::RenderBox&, bool, bool) (in WebCore)
13, 26.5%, 2.1%,                                                                 WebCore::RenderImage::layout() (in WebCore)
13, 26.5%, 2.1%,                                                                     WebCore::RenderImage::updateInnerContentRect() (in WebCore)
13, 26.5%, 2.1%,                                                                         WebCore::Document::completeURL(WTF::String const&, WTF::URL const&, WebCore::ScriptExecutionContext::ForceUTF8) const (in WebCore)

<rdar://111243279>
Comment 1 Ryosuke Niwa 2023-06-24 01:48:23 PDT
Pull request: https://github.com/WebKit/WebKit/pull/15274
Comment 2 EWS 2023-06-24 16:49:24 PDT
Committed 265499@main (269f0e8b5e51): <https://commits.webkit.org/265499@main>

Reviewed commits have been landed. Closing PR #15274 and removing active labels.