Closed Bug 165100 Opened 22 years ago Closed 16 years ago

typeaheadfind.dll loads too early

Categories

(SeaMonkey :: Find In Page, defect)

SeaMonkey 1.1 Branch
x86
Windows 2000
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: bratell, Unassigned)

References

Details

(Keywords: perf)

typeaheadfind.dll loads very early when Mozilla is started. Even before 
necko.dll. The load should be delayed until typeaheadfind is used to save both 
startup time and footprint.
The only way I know to do this would be hacky. When/where do you think it should
be loaded? It needs to attach it's listeners right away so that when a keystroke
comes in, it's ready for it.
Assignee: sgehani → aaronl
Blocks: isearch
I don't know enough about how the DLL:s are loaded to tell. There are other
dll:s that are loaded on demand after the first window has opened and the
solution they uses might be used here too.
this should definitely not be loaded until _after_ we have loaded a page in the
content area, otherwise it will be hitting both startup and page load times for
no reason (since the user can't use this that early anyway).
Right now I get initialized because of this line in nsTypeAheadFindRegistration.cpp

    rv = categoryManager->AddCategoryEntry(APPSTARTUP_CATEGORY,
                                           "Type Ahead Find", 
                                           "service,"
                                           NS_TYPEAHEADFIND_CONTRACTID,
                                           PR_TRUE, PR_TRUE, nsnull);
After talking with Johnny Stenback and John Morrison, it sounds like what we're
doing now is fine. It's such a small .dll that it doesn't appear to affect
startup time at all.

Since typeaheadfind is needed right away to set up keystroke handlers, and since
there is no apparent performance problem, and since we can't think of any other
clean non-hacky way to load it on demand, we're going to leave it as is.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → WONTFIX
I should have also mentioned that since it appears typeaheadfind is going to be
turned on by default in all of our builds, we wouldnt' be saving on footprint
either.
Actually, I still think this should stay open but 'for later'. I don't have a 
smoking gun although conceptually I believe we should delay-load as many DLLs
as possible (as has been done for a variety of other page-oriented features).

Remember: "It's not the last cookie that makes you fat" :-)
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
Target Milestone: --- → Future
Or, to be clear, I said I was fine with not fixing this now. But I should have 
said that we should do this someday (unless it's architecturally impractical
but I don't think that's the case. Icky and messy, sure, but still doable :-)
There comes a point where "Icky and messy" weighs quite a lot compared to
eagerly loading a library that'll be loaded anyway though. I'm fine with
delaying loading of this library, but I doubt it'll be pretty...
Component: Search → Keyboard: Find as you Type
QA Contact: claudius → sairuh
Keywords: helpwanted, perf
Product: Core → SeaMonkey
Assignee: aaronleventhal → nobody
Status: REOPENED → NEW
QA Contact: bugzilla → keyboard.fayt
Target Milestone: Future → ---
This dll still exists in SM v1.1.13 and existed in v1.5a,
but it doesn't exist anymore in current v2.0a2pre:
R.WontFix

Reopen if I missed something.
Status: NEW → RESOLVED
Closed: 22 years ago16 years ago
Keywords: helpwanted
Resolution: --- → WONTFIX
Depends on: 461938
Version: Trunk → SeaMonkey 1.1 Branch
You need to log in before you can comment on or make changes to this bug.