When we add or delete messages using the nsIRDFObserver functions OnAssert and OnUnassert, performance is really bad and much worse than when just using GetTargets. To see this, delete a folder's .msf file, and then restart and click on that folder. It will take much longer to load this folder. This will also affect the time to download new headers - especially in Imap and News. See bug 6873 for more useful info as well as various newsgroup postings in the mail-news newsgroup.
It ain't wonderful now, but we're back in the game I think.
I just wanted to point something out. If you're using Mailnews to test this then you might be getting some erroneous data. Currently 10905 is open and says that when we parse a mailbox only the first 1MB gets read in. My 1300 message mailbox takes up 7MB. So, probably only the first 200 messages are actually being added and given to RDF. Also, unless performance is where we want it to eventually be, should we leave this open? I think we need a bug to track this. Or are you saying that this makes the async case equivalent to the sync case and we only need to concentrate on one thing?
Well, I was thinking we could just keep bug 6873 open, and then attach specific problems to that.
Now that we're able to parse the complete mailbox again, I'm not seeing any speed difference since this bug was marked fixed. It still takes about 3 minutes for me to load 1000 messages.
Then its been broken again. Reopening bug, setting milestone M10.
Clearing Fixed resolution due to reopen. lchiang...think we need and M9 Release Note?
There is nothing to release note.
*** Bug 9316 has been marked as a duplicate of this bug. ***
*** Bug 9209 has been marked as a duplicate of this bug. ***
Fixed. FWIW, I don't think the case you present here ever worked.
Doh. Updated wrong bug.
Oh, man, don't tease me like that!
Scott Putterman has a workaround for one of the manifestations of this bug - don't tell RDF about incoming headers until all are received.
bulldozer to M12
scottip: this seems to be to a reasonable level of performance (for some definition of reasonable). i'm going to mark as "fixed" for now: it's certainly dogfoodable, probably even beta-able.
agreed. For loading new messages we're in pretty good shape. Plus, David B, has a bug open for marking messages read which can replace this bug :)
Marking this as Verified. We are in much better shape in folder loading performance.