Open Bug 1635620 Opened 4 years ago Updated 1 month ago

Determine what DLLs should be prefetched from dependentlibs.list

Categories

(Toolkit :: Startup and Profile System, enhancement, P3)

enhancement

Tracking

()

Performance Impact low

People

(Reporter: emmamalysz, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: perf:startup)

dependentlibs.list contains DLLs that could potentially be good candidates for prefetch. We should determine what DLLs to prefetch and see if there are performance wins associated with it.

Blocks: 1627071
Whiteboard: [fxperf]
Priority: -- → P3

So, we currently prefetch everything from dependentlibs.list. It is worth figuring out though if everything in dependentlibs.list should be prefetched. It's possible that we may want to wait to prefetch nss3 until after a certain startup milestone, for example. Also, it's possible that what we really want to do is prefetch only a particular segment or set of segments from each of the libraries, based on recordings of what we actually use from those libraries during PGO. I'm going to give this an fxperf:p3 for now, because I haven't seen the libs from this list actually show up as taking a lot of time when prefetching them. We do spend a fair amount of time reading from mozglue, but that's because we read from it before we prefetch it.

Side note: It's somewhat tricky to avoid this (reading from mozglue before prefetching it), because the prefetching code is, itself, inside mozglue - there's also a lot of things that we probably(?) want to run before prefetching. Though that is by no means certain. Honestly we could probably optimistically prefetch dlls from the launcher process before we do anything else. That probably deserves its own bug though.

Whiteboard: [fxperf] → [fxperf:p3]
Component: General → Startup and Profile System
Keywords: perf:startup
Product: Firefox Build System → Toolkit
Whiteboard: [fxperf:p3]
Performance Impact: --- → low
You need to log in before you can comment on or make changes to this bug.