Skip to content

pmbauer/thread-ring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

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

Watchers

Forks

Releases

No releases published

Packages

No packages published