You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Benoit Tellier (Jira)" <se...@james.apache.org> on 2021/05/04 09:22:00 UTC
[jira] [Created] (JAMES-3577) Tiny IMAP performance enhancements
Benoit Tellier created JAMES-3577:
-------------------------------------
Summary: Tiny IMAP performance enhancements
Key: JAMES-3577
URL: https://issues.apache.org/jira/browse/JAMES-3577
Project: James Server
Issue Type: Improvement
Components: IMAPServer
Reporter: Benoit Tellier
Auditing IMAP load with glowroot I was surprised to see thousands of calls to the highest Message UID within a mailbox.
For instance out of 500 MOVE commands the highest UID was checked a thousand time...
A deeper look at the code shows that the latest UID is agressively read before a IF loop not requiring it all of the time... When no `*` are specified in the range definition we can entirely skip this read... Which seems quitte of a common pattern!
Impacted commands includes:
- MOVE
- COPY
- STORE
- EXPUNGE
- FETCH
By not performing these reads I expect a minor performance increase...
- Something like7% for MOVE for instance.
I will report other tiny enhancements I can find as comments of this ticket.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org