Enabling buffering for file stream to write message for C-C TB
Categories
(Thunderbird :: OS Integration, defect)
Tracking
(Not tracked)
People
(Reporter: ishikawa, Assigned: ishikawa)
References
(Depends on 1 open bug, Blocks 2 open bugs)
Details
(Keywords: perf)
Attachments
(1 file, 4 obsolete files)
(deleted),
patch
|
Details | Diff | Splinter Review |
Assignee | ||
Updated•9 years ago
|
Assignee | ||
Comment 1•9 years ago
|
||
Assignee | ||
Comment 2•8 years ago
|
||
Comment 3•8 years ago
|
||
Assignee | ||
Comment 4•8 years ago
|
||
Assignee | ||
Comment 5•8 years ago
|
||
Comment 6•8 years ago
|
||
Comment 7•8 years ago
|
||
Assignee | ||
Comment 8•8 years ago
|
||
Assignee | ||
Comment 9•5 years ago
|
||
In bug 1242030,
the following patches will be uploaded: it contains all the changes that have taken place for the last couple of years including the modification to match the clang-formatted source tree.
1242030-DONT-USE-REUSABLE-new-part-1.patch: bug 1242030: DONT-USE-REUSABLE new part-1 new splitting of (consolidation of 1122698, 1134527, 1134529, 1174500)
1242030-DONT-USE-REUSABLE-new-part-2-imap-JK-v1-rev02.patch: bug 1242030: DONT-USE-REUSABLE Improve error handling in file/stream I/O. Part 2. r=jorgk.
1242030-DONT-USE-REUSABLE-new-part-3-import-JK-v1-rev03.patch: bug 1242030: DONT-USE-REUSABLE Improve error handling in file/stream I/O. Part 3 (was 2). r=jorgk. revision 2
1242030-DONT-USE-REUSABLE-new-part-4-local-less-pop3.patch: bug 1242030: DONT-USE-REUSABLE new part-4 new splitting of (consolidation of 1122698, 1134527, 1134529, 1174500)
1242030-DONT-USE-REUSABLE-new-part-5-pop3.patch: bug 1242030: DONT-USE-REUSABLE new part-5 new splitting of (consolidation of 1122698, 1134527, 1134529, 1174500)
The following two patches, including one here, will complete the buffered output finally (!).
The current one:
enable-buffering-1st-step.patch: Bug 1242042: Enabling buffering for file stream to write message for C-C TB (Enabling buffering first step.)
Another one is this.
removing-a-Seek-rev02.patch: Bug 1242046 - Removing unnecessary |Seek| that caused the C-C TB to operate slowly in terms of I/O
Assignee | ||
Comment 10•5 years ago
|
||
Updated patch.
Assignee | ||
Updated•5 years ago
|
Updated•3 years ago
|
Assignee | ||
Comment 12•3 years ago
|
||
Not sure if the proposed improvement in this bugzilla makes the issue in Bug 693659 speedier.
The reason I think so is as follows.
- The improvement here is concerned with physical data copying for messages into external storage, not deletion.
- Deletion in pop3 is handled (for mbox) by marking the message as deleted in DB and the storage is reclaimed later when
the folder is compacted.
I am not familiar with deletion in pop3 with maildir, but I think it should not be such a big deal or rather it should be straightforward:
you will simply remove each such message. (Now, if the system call to remove the individual message file is expensive, then
certainly the O(N) where N is the number of message can be expensive. We may want to run an asynchronous thread to call the remove system call and let it run in the background. But I am afraid that the code gets too complex.
Now, when it comes to IMAP, again, this bugzilla probably won't affect the issue in bug 693659 at all either.
I am afraid that with IMAP, the server setting and the setting of syncing the local operation with the status of messages on the server affect the performance very much and there is not much TB can do. For example, i.e., if we remove messages locally then should the server also SYNCHRONOUSLY delete the message?
If SYNCHRONOUS operation on the server is requested, THEN if one deletes 10K+ messages locally, obviously there will be much server activity which slows down the UI.
I am busily trying to fix the bitrot of the patches that must be applied before the patch here to accommodate last several months worth of M-C/C-C changes. Close to finishing it, but not cigar yet.
Updated•2 years ago
|
Description
•