[
https://issues.apache.org/jira/browse/JAMES-3477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17249623#comment-17249623
]
ASF GitHub Bot commented on JAMES-3477:
---------------------------------------
chibenwa commented on pull request #280:
URL: https://github.com/apache/james-project/pull/280#issuecomment-745211736
I played a bit with JMH, garbage collector reports & message size...
```
Scenario: Startup + 100 messages for 5 rcpts, 12KB each + Shutdown
Code version: Locking version of COW
Benchmark
Mode Cnt Score Error Units
MimeMessageBenchTest.benchmark1
avgt 10 5954.512 ± 110.288 ms/op
MimeMessageBenchTest.benchmark1:·gc.alloc.rate
avgt 10 116.627 ± 1.936 MB/sec
MimeMessageBenchTest.benchmark1:·gc.churn.G1_Eden_Space
avgt 10 280.591 ± 4.747 MB/sec
MimeMessageBenchTest.benchmark1:·gc.churn.G1_Old_Gen
avgt 10 0.171 ± 0.098 MB/sec
MimeMessageBenchTest.benchmark1:·gc.count
avgt 10 60.000 counts
MimeMessageBenchTest.benchmark1:·gc.time
avgt 10 302.000 ms
Scenario: Startup + 100 messages for 5 rcpts, 12KB each + Shutdown
Code version: Always COPY
Benchmark
Mode Cnt Score Error Units
MimeMessageBenchTest.benchmark1
avgt 10 6024.282 ± 130.217 ms/op
MimeMessageBenchTest.benchmark1:·gc.alloc.rate
avgt 10 115.991 ± 2.242 MB/sec
MimeMessageBenchTest.benchmark1:·gc.churn.G1_Eden_Space
avgt 10 277.597 ± 5.493 MB/sec
MimeMessageBenchTest.benchmark1:·gc.churn.G1_Old_Gen
avgt 10 0.178 ± 0.089 MB/sec
MimeMessageBenchTest.benchmark1:·gc.count
avgt 10 60.000 counts
MimeMessageBenchTest.benchmark1:·gc.time
avgt 10 298.000 ms
Scenario: Startup + 100 messages for 5 rcpts, 120KB each + Shutdown
Code version: Locking version of COW
Benchmark
Mode Cnt Score Error Units
MimeMessageBenchTest.benchmark1
avgt 10 11838.707 ± 1909.568 ms/op
MimeMessageBenchTest.benchmark1:·gc.alloc.rate
avgt 10 167.785 ± 22.464 MB/sec
MimeMessageBenchTest.benchmark1:·gc.churn.G1_Eden_Space
avgt 10 1059.389 ± 154.302 MB/sec
MimeMessageBenchTest.benchmark1:·gc.churn.G1_Old_Gen
avgt 10 0.583 ± 0.915 MB/sec
MimeMessageBenchTest.benchmark1:·gc.churn.G1_Survivor_Space
avgt 10 3.754 ± 3.913 MB/sec
MimeMessageBenchTest.benchmark1:·gc.count
avgt 10 1179.000 counts
MimeMessageBenchTest.benchmark1:·gc.time
avgt 10 5129.000 ms
Scenario: Startup + 100 messages for 5 rcpts, 120KB each + Shutdown
Code version: Always COPY
MimeMessageBenchTest.benchmark1
avgt 10 12177.190 ± 1711.754 ms/op
MimeMessageBenchTest.benchmark1:·gc.alloc.rate
avgt 10 164.735 ± 20.484 MB/sec
MimeMessageBenchTest.benchmark1:·gc.churn.G1_Eden_Space
avgt 10 1046.940 ± 134.789 MB/sec
MimeMessageBenchTest.benchmark1:·gc.churn.G1_Old_Gen
avgt 10 0.586 ± 1.042 MB/sec
MimeMessageBenchTest.benchmark1:·gc.churn.G1_Survivor_Space
avgt 10 3.900 ± 3.591 MB/sec
MimeMessageBenchTest.benchmark1:·gc.count
avgt 10 1202.000 counts
MimeMessageBenchTest.benchmark1:·gc.time
avgt 10 5273.000 ms
Scenario: Startup + 10 messages for 5 rcpts, 1.2MB each + Shutdown
Code version: Locking version of COW
Benchmark
Mode Cnt Score Error Units
MimeMessageBenchTest.benchmark1
avgt 3 12911.341 ± 3552.079 ms/op
MimeMessageBenchTest.benchmark1:·gc.alloc.rate
avgt 3 135.412 ± 34.923 MB/sec
MimeMessageBenchTest.benchmark1:·gc.churn.G1_Eden_Space
avgt 3 799.061 ± 217.977 MB/sec
MimeMessageBenchTest.benchmark1:·gc.churn.G1_Old_Gen
avgt 3 173.397 ± 76.272 MB/sec
MimeMessageBenchTest.benchmark1:·gc.churn.G1_Survivor_Space
avgt 3 9.891 ± 2.784 MB/sec
MimeMessageBenchTest.benchmark1:·gc.count
avgt 3 228.000 counts
MimeMessageBenchTest.benchmark1:·gc.time
avgt 3 3845.000 ms
Scenario: Startup + 10 messages for 5 rcpts, 1.2MB each + Shutdown
Code version: Always COPY
Benchmark
Mode Cnt Score Error Units
MimeMessageBenchTest.benchmark1
avgt 3 13718.479 ± 11832.688 ms/op
MimeMessageBenchTest.benchmark1:·gc.alloc.rate
avgt 3 128.467 ± 101.018 MB/sec
MimeMessageBenchTest.benchmark1:·gc.churn.G1_Eden_Space
avgt 3 752.122 ± 633.602 MB/sec
MimeMessageBenchTest.benchmark1:·gc.churn.G1_Old_Gen
avgt 3 163.080 ± 175.520 MB/sec
MimeMessageBenchTest.benchmark1:·gc.churn.G1_Survivor_Space
avgt 3 9.312 ± 4.526 MB/sec
MimeMessageBenchTest.benchmark1:·gc.count
avgt 3 229.000 counts
MimeMessageBenchTest.benchmark1:·gc.time
avgt 3 3990.000 ms
```
Conclusion:
- Always copy generates slightly more GC
- Runs sligthly slower
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> MimeMessageCopyOnWriteProxy is not thread safe
> ----------------------------------------------
>
> Key: JAMES-3477
> URL: https://issues.apache.org/jira/browse/JAMES-3477
> Project: James Server
> Issue Type: Wish
> Reporter: Benoit Tellier
> Priority: Major
>
> https://www.mail-archive.com/[email protected]/msg69221.html
> &
> https://github.com/jeantil/james-project/commit/c0354ea21c5b0a8f6d46e9919f7db0d97db9eb23
> proves there is a concurrency issue in MimeMessageCopyOnWriteProxy class that
> we need to investigate.
> It causes our test suite to be flacky.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]