POP3: don't sync after each header

RESOLVED FIXED in Thunderbird 3.0b1

Status

--
enhancement
RESOLVED FIXED
12 years ago
10 years ago

People

(Reporter: hyc, Assigned: hyc)

Tracking

({perf})

Trunk
Thunderbird 3.0b1

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Assignee)

Description

12 years ago
Normally a full flush/sync occurs after each item is downloaded in a POP3 session, to minimize risk of data loss. This sync guarantees that a downloaded message has been saved successfully on the local disk before deleting it on the server.

When using header-only downloads this precaution is unnecessary since the full message still resides on the server. Avoiding the sync in this case is helpful since it reduces hard drive activity/wear/tear and improves throughput. The improvement is really noticeable when there are hundreds or thousands of messages in a mailbox. (On one of my accounts I typically get 700 messages/day, mostly spam.)
(Assignee)

Comment 1

12 years ago
Created attachment 269769 [details] [diff] [review]
[checked in]Patch to nsPop3Sink.cpp

It might be acceptable to skip the sync when "Leave on Server" is true too, but I haven't thought about that too deeply yet.

Updated

12 years ago
Attachment #269769 - Flags: superreview?(bienvenu)

Comment 2

12 years ago
Comment on attachment 269769 [details] [diff] [review]
[checked in]Patch to nsPop3Sink.cpp

sorry for the delay; I'll land this today.
Attachment #269769 - Flags: superreview?(bienvenu) → superreview+

Comment 3

12 years ago
Comment on attachment 269769 [details] [diff] [review]
[checked in]Patch to nsPop3Sink.cpp

I guess I'll leave this open to consider the pop3 leave on server case.
Attachment #269769 - Attachment description: Patch to nsPop3Sink.cpp → [checked in]Patch to nsPop3Sink.cpp
(In reply to comment #1)
> It might be acceptable to skip the sync when "Leave on Server" is true too, but
> I haven't thought about that too deeply yet.

leave on server is my default. I wonder if this is heavily used?

change to component=n:pop?
Keywords: perf
Product: Core → MailNews Core
Howard wrote in comment #1:
> It might be acceptable to skip the sync when "Leave on Server" is true too, but
> I haven't thought about that too deeply yet.

Howard do you also want to take the step for "Leave on Server"?
(Assignee)

Comment 6

11 years ago
Created attachment 333909 [details] [diff] [review]
Also check LeaveOnServer setting

Sorry, I forgot about this. It's a trivial check.
Assignee: nobody → hyc
Status: NEW → ASSIGNED
Attachment #333909 - Flags: review?
(Assignee)

Updated

11 years ago
Attachment #333909 - Flags: review? → review?(bienvenu)

Comment 7

10 years ago
Comment on attachment 333909 [details] [diff] [review]
Also check LeaveOnServer setting

I'll try to land this soon.
Attachment #333909 - Flags: superreview+
Attachment #333909 - Flags: review?(bienvenu)
Attachment #333909 - Flags: review+
bienvenu: need some help landing it, or just help remembering? ;)

Comment 9

10 years ago
that second one :-)
Status: ASSIGNED → RESOLVED
Last Resolved: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 3.0b1
You need to log in before you can comment on or make changes to this bug.