[
https://issues.apache.org/jira/browse/JAMES-2343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16454475#comment-16454475
]
ASF GitHub Bot commented on JAMES-2343:
---------------------------------------
Github user chikei commented on the issue:
https://github.com/apache/james-project/pull/105
Benchmark setup: I use a simple noop mail queue to ensure it's measuring
smtp protocol related code, all connection were send using smtp-source from
postfix with 100 concurrent connection and 10000 total message.
result (per message size in byte/total time used):
current code:
```
100 21.717
32768 44.188
65536 1:03.38
131072 2:23.30
262144 5:31.96
524288 12:50.44
```
the incorrect flush only code:
```
100 23.220
32768 48.803
65536 1:04.91
131072 2:13.54
262144 4:32.83
524288 12:32.42
```
BufferedDeferredFileOutputStream:
```
100 18.569
32768 47.671
65536 1:02.49
131072 1:51.47
262144 3:47.99
524288 8:01.42
```
> Use buffered file output stream for MimeMessageInputStreamSource
> ----------------------------------------------------------------
>
> Key: JAMES-2343
> URL: https://issues.apache.org/jira/browse/JAMES-2343
> Project: James Server
> Issue Type: Improvement
> Components: James Core
> Reporter: TzeKai Lee
> Priority: Major
>
> Currently MimeMessageInputStreamSource use DeferredFileOutputStream from
> commons-io which does _not_ buffer output stream when switched to
> FileOutputStream. In my preliminary test, simply wrap FileOutputStream with
> BufferedOutputStream could make a 50% performance improvement for mail larger
> than deferring threshold (currently 100kb).
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]