Closed Bug 99674 Opened 23 years ago Closed 15 years ago

investigate performance issues with CheckAndPopulateRecipients()

Categories

(MailNews Core :: Composition, defect, P3)

defect

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: sspitzer, Assigned: standard8)

References

Details

(Keywords: perf)

investigate performance issues with CheckAndPopulateRecipients()

this won't help with new compose / reply time, but it would affect msg send 
time.

and, while you're there, make an old man happy and break up that massive method.
it looks like we open and close each address book every time we send a message?
Keywords: perf
OS: Windows 2000 → All
QA Contact: sheelar → stephend
Hardware: PC → All
We should determine whether or not we are opening each AB and if there's
anything we can do about it if we are. If we're not or we can't we can mark this
wontfix.
Keywords: nsbeta1nsbeta1+
Priority: -- → P1
Target Milestone: --- → mozilla0.9.9
moving out.
Status: NEW → ASSIGNED
Target Milestone: mozilla0.9.9 → mozilla1.2
Blocks: 122274
Keywords: nsbeta1+nsbeta1-
taking all of varada's bugs.
Assignee: varada → sspitzer
Status: ASSIGNED → NEW
Product: MailNews → Core
sorry for the spam.  making bugzilla reflect reality as I'm not working on these bugs.  filter on FOOBARCHEESE to remove these in bulk.
Assignee: sspitzer → nobody
Mark, is this related to the "keep AB open" bug?
QA Contact: stephend → composition
(In reply to comment #6)
> Mark, is this related to the "keep AB open" bug?
> 
Related, but not the same as. I think this comment sums it up quite well (on initial inspection at least):

(comment #2)
> We should determine whether or not we are opening each AB and if there's
> anything we can do about it if we are. If we're not or we can't we can mark this
> wontfix.

Basically, in/via CheckAndPopulateRecipients we access the DBs we know we need to - so if the person we're sending to isn't in any address book then we'll look through all of them.

I can't think of a way around this. I have recently been cleaning up CheckAndPopulateRecipients that should have improved how it does things better, but I can't see a way around the fundamental issue here.

The compose window service does also "keep" the address books open now (though there are some follow ups to that). I think this would also improve the performance.

So in summary, I think we could probably invalid/wontfix this bug. Thoughts?
It seems like there's not much point in closing the connection after each send, but it sounds like from Mark's comment we're no longer actually doing this.  Which would seem to suggest that we're about as good as we're going to get.  Though verifying this would be a fine thing.
Let's get finding a resolution for this on my radar.
Assignee: nobody → bugzilla
Flags: wanted-thunderbird3.0a2?
Priority: P1 → --
Target Milestone: mozilla1.2alpha → ---
Looks like a good thing to want for 3.0a2.
Flags: wanted-thunderbird3.0a2? → wanted-thunderbird3.0a2+
Flags: wanted-thunderbird3+
Priority: -- → P3
Product: Core → MailNews Core
I'm taking this off the wanted list, if we think we're probably going to mark it invalid.
Flags: wanted-thunderbird3.0a2+
Flags: wanted-thunderbird3-
Flags: wanted-thunderbird3+
(In reply to comment #9)
> Let's get finding a resolution for this on my radar.

Ping ?
I just verified, we're not opening the database each time. The slowest bit is probably searching for mailing lists in each address book, which at the moment we're not going to do much about.

We're getting cards for email address and setting the popularity property on them, but that is using the fast search method, so no issues there.

So I think barring the odd optimisation here and there that could be made by sitting down and thinking about it for a day or two, and maybe digging the profiler out, there's nothing else we can do here.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.