[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