Closed Bug 1895475 Opened 11 months ago Closed 11 months ago

RedBlackTree<>::TreeNode::bool() should be inlined

Categories

(Core :: Performance, enhancement)

Firefox 126
enhancement

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: kael, Unassigned)

Details

​​### Basic information

Steps to Reproduce:
Run reproduction application under profiler; you can stop once AppStart reach managed count has run 5 groups of calls
(NOTE: bugzilla server is 502ing right now when I try to attach the repro. I will try to attach it later.)

Actual Results:
In profile, RedBlackTree<>::TreeNode's implicit bool operator is a significant number of CPU samples. Inlining it is probably an easy performance win - depending on how you examine my profile it's somewhere between 1-2% of all CPU samples.

There are some other obvious bottlenecks in this profile but they don't look as easy to fix as this one. Sorry if this isn't actually a useful report :-)


Performance recording (profile)

Profile URL: https://share.firefox.dev/3Kbc0LP

System configuration:

OS version: Windows 11
GPU model: RTX 3080ti
Number of cores: 24
Amount of memory (RAM): 128GB

More information

I can provide about:support if you need it

Isn't it already inlined? If I select 'All frames' for your profile, it shows the "inl" label next to RedBlackTree::TreeNode::operator bool.

(In reply to Jan de Mooij [:jandem] from comment #1)

Isn't it already inlined? If I select 'All frames' for your profile, it shows the "inl" label next to RedBlackTree::TreeNode::operator bool.

Sorry, guess I'm not good enough at using the profiler :) I haven't seen any profiler report inlined call frames like this before. You can close this. It's really weird that so many samples are in this function, but I guess the tree is just that hot!

No worries. Thanks anyway for the report!

Status: NEW → RESOLVED
Closed: 11 months ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.