Skip to content

Latest commit

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

thread-ring

Benchmark comparison between core.async and Quasar/Pulsar.

Methodology

Classic thread-ring benchmark with criterium and leiningen :jvm-opts ^:replace.

Sample

Processor: Intel® Core™ i7-4600U CPU
Memory: 8GB

$ lein core.async 503 500000
(thread-ring 503 500000) => 19
...
Evaluation count : 60 in 60 samples of 1 calls.
Execution time mean : 1.110358 sec
Execution time std-deviation : 25.026825 ms
Execution time lower quantile : 1.066998 sec ( 2.5%)
Execution time upper quantile : 1.137509 sec (97.5%)
Overhead used : 1.844661 ns
Found 4 outliers in 60 samples (6.6667 %)
low-severe 1 (1.6667 %)
low-mild 3 (5.0000 %)
Variance from outliers : 10.9690 % Variance is moderately inflated by outliers
$ lein pulsar 503 500000
(thread-ring 503 500000) => 19
...
Evaluation count : 120 in 60 samples of 2 calls.
Execution time mean : 594.285218 ms
Execution time std-deviation : 2.693540 ms
Execution time lower quantile : 590.139810 ms ( 2.5%)
Execution time upper quantile : 599.500780 ms (97.5%)
Overhead used : 1.843652 ns

Observations

For this benchmark, Pulsar pegged the CPU while core.async kept utilization at a near-steady 50%. Pulsar's execution time advantage reflects this.

About

thread-ring benchmark

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages