james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benoit Tellier (Jira)" <server-...@james.apache.org>
Subject [jira] [Created] (JAMES-3577) Tiny IMAP performance enhancements
Date Tue, 04 May 2021 09:22:00 GMT
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


Mime
View raw message