[prev in list] [next in list] [prev in thread] [next in thread]
List: activemq-dev
Subject: [GitHub] activemq-artemis issue #1144: ARTEMIS-1078: Improved thread pool
From: franz1981 <git () git ! apache ! org>
Date: 2017-03-31 17:06:40
Message-ID: 20170331170640.63AA4DFE59 () git1-us-west ! apache ! org
[Download RAW message or body]
Github user franz1981 commented on the issue:
https://github.com/apache/activemq-artemis/pull/1144
@bgutjahr These are the preliminary results from the benchmark \
[here](https://github.com/franz1981/activemq-artemis/tree/jmh_improved_thread_pool), \
see the [ThreadPoolBenchmark](https://github.com/franz1981/activemq-artemis/blob/e4b81 \
5281dc14c540821bb672e2bd0e5592f5133/tests/extra-tests/src/test/java/org/apache/activemq/artemis/tests/extras/benchmarks/pools/ThreadPoolBenchmark.java) \
if you want to reproduce the test or verify if is fair enough. The type **new** is \
your version of the pool, **old** is the original while **baseline** is the JDK fixed \
thread executor service. The **execute** is the throughput of the producer thread to \
submit a task to the pool, while
**thread_1**, **thread_2** and **thread_3** are the throughput to execute the \
tasks on the given pooled thread (3 in total). As is visible by the results the task \
submission is slower than the original while the pooled threads are faster to \
consume, altought with an higher variance: maybe is dependent by a synchronized \
operation or any queuing effect. ```
Benchmark (type) Mode Cnt \
Score Error Units ThreadPoolBenchmark.tpt:execute \
baseline thrpt 5 4095676.139 ± 248391.951 ops/s \
ThreadPoolBenchmark.tpt:thread_1 baseline thrpt 5 \
436573.539 ± 78582.478 ops/s ThreadPoolBenchmark.tpt:thread_2 \
baseline thrpt 5 441567.641 ± 111930.503 ops/s \
ThreadPoolBenchmark.tpt:thread_3 baseline thrpt 5 \
420329.280 ± 78979.112 ops/s
ThreadPoolBenchmark.tpt:execute old thrpt 5 \
5273631.677 ± 2606806.562 ops/s ThreadPoolBenchmark.tpt:thread_1 \
old thrpt 5 622163.951 ± 422993.497 ops/s \
ThreadPoolBenchmark.tpt:thread_2 old thrpt 5 \
582100.488 ± 193436.998 ops/s ThreadPoolBenchmark.tpt:thread_3 \
old thrpt 5 640375.952 ± 190881.796 ops/s
ThreadPoolBenchmark.tpt:execute new thrpt 5 \
3628826.588 ± 2837645.169 ops/s ThreadPoolBenchmark.tpt:thread_1 \
new thrpt 5 1057520.974 ± 3212217.630 ops/s \
ThreadPoolBenchmark.tpt:thread_2 new thrpt 5 \
1028641.600 ± 2629406.160 ops/s ThreadPoolBenchmark.tpt:thread_3 \
new thrpt 5 1026665.278 ± 2753389.072 ops/s ```
In the next days I'll take a look to the code too and I'll build a concurrency \
sanity test to find out if everything is working as expected. Anyway god job, for me \
is more balanced than the original version :+1:
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic