out-of-line LazyLogModule::operator LogModule*()
Categories
(Core :: XPCOM, enhancement)
Tracking
()
Tracking | Status | |
---|---|---|
firefox57 | --- | fixed |
People
(Reporter: froydnj, Assigned: froydnj)
Details
Attachments
(1 file)
2.29 KB,
patch
|
erahm
:
review+
|
Details | Diff | Splinter Review |
Comment 2•8 years ago
|
||
![]() |
Assignee | |
Comment 3•8 years ago
|
||
Comment 4•8 years ago
|
||
Comment 6•7 years ago
|
||
bugherder |
Comment 7•6 years ago
|
||
(In reply to Nathan Froyd [:froydnj] from comment #3)
(In reply to (out Aug 3 - 6) Eric Rahm [:erahm] (please no mozreview
requests) from comment #2)That's a big savings! I'm surprised we didn't get push back when it landed.
Does this have a perf impact? One of the key things for allowing always
available logging was that it didn't cause perf regressions for release
builds.I haven't measured the perf impact, but I can do that.
When looking at profiles of our AntiTracking code which logs heavily (for bug 1516540), I see this non-inline function show up quite a lot. :-( In some functions it's around 10% of self-time.
![]() |
Assignee | |
Comment 8•6 years ago
|
||
(In reply to :Ehsan Akhgari from comment #7)
(In reply to Nathan Froyd [:froydnj] from comment #3)
(In reply to (out Aug 3 - 6) Eric Rahm [:erahm] (please no mozreview
requests) from comment #2)That's a big savings! I'm surprised we didn't get push back when it landed.
Does this have a perf impact? One of the key things for allowing always
available logging was that it didn't cause perf regressions for release
builds.I haven't measured the perf impact, but I can do that.
When looking at profiles of our AntiTracking code which logs heavily (for bug 1516540), I see this non-inline function show up quite a lot. :-( In some functions it's around 10% of self-time.
This shows up even when you're not logging? That's...not good. Do you think that's the fault of the log code itself, or just an excessive amount of logging from the AntiTracking code?
Please file a separate bug for that if you think there's something we could do here.
Comment 9•6 years ago
|
||
(In reply to Nathan Froyd [:froydnj] from comment #8)
(In reply to :Ehsan Akhgari from comment #7)
(In reply to Nathan Froyd [:froydnj] from comment #3)
(In reply to (out Aug 3 - 6) Eric Rahm [:erahm] (please no mozreview
requests) from comment #2)That's a big savings! I'm surprised we didn't get push back when it landed.
Does this have a perf impact? One of the key things for allowing always
available logging was that it didn't cause perf regressions for release
builds.I haven't measured the perf impact, but I can do that.
When looking at profiles of our AntiTracking code which logs heavily (for bug 1516540), I see this non-inline function show up quite a lot. :-( In some functions it's around 10% of self-time.
This shows up even when you're not logging?
Yes, when not logging. :(
That's...not good. Do you think that's the fault of the log code itself, or just an excessive amount of logging from the AntiTracking code?
Neither, it's the fault of this patch IMO. According to perf, all of the overhead is just there due to the non-inline call.
(FWIW this is the function I was looking at: https://searchfox.org/mozilla-central/rev/152993fa346c8fd9296e4cd6622234a664f53341/toolkit/components/antitracking/AntiTrackingCommon.cpp#1324. In the non-error cases, it will call LazyLogModule::operator LogModule*() exactly twice, once on line 1329 and once on line 1391. I don't think that's excessive logging, but please double check my assumption here.)
Please file a separate bug for that if you think there's something we could do here.
Filed bug 1525303.
Description
•