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 10:14:00 UTC

[jira] [Closed] (JAMES-3577) Tiny IMAP performance enhancements

     [ https://issues.apache.org/jira/browse/JAMES-3577?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Benoit Tellier closed JAMES-3577.
---------------------------------
    Resolution: Invalid

> 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
>            Priority: Major
>              Labels: perf
>
> 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