Skip to content

Latest commit

 

History

History
103 lines (76 loc) · 3.58 KB

benchmark-ccl64.md

File metadata and controls

103 lines (76 loc) · 3.58 KB

STMX Performance

This document is an addition to benchmark.md. Please read it first.

What follows are some timings obtained on the authors's system, and by no means they claim to be exact, absolute or reproducible: your mileage may vary.

Date: 29 June 2013

Hardware: Intel Core-i7 4770 @3.5 GHz (quad-core w/ hyper-threading), 16GB RAM

Software: Debian GNU/Linux 7.0 (x86_64), CCL 1.9-r15769 (x86_64), STMX 1.3.3

Concurrent benchmarks on a 4-core CPU. They already iterate ten million times, do not wrap them in (1m ...).
Dining philosophers, load with
(load "stmx/example/dining-philosophers-stmx.lisp")
(load "stmx/example/dining-philosophers-hw-tx.lisp")
(load "stmx/example/dining-philosophers-lock.lisp")
(in-package :stmx.example{1|2|3})
number of threads executed code STMX (sw transactions) HW-TX (hw transactions) LOCK (atomic compare-and-swap) LOCK (bordeaux-threads mutex)
millions transactions per second
1 thread (dining-philosophers 1) 0.639 8.39
2 threads (dining-philosophers 2) 1.115 4.60
3 threads (dining-philosophers 3) 0.978 4.96
4 threads (dining-philosophers 4) 0.927 6.05
5 threads (dining-philosophers 5) 0.937 7.56
6 threads (dining-philosophers 6) 0.892 7.54
7 threads (dining-philosophers 7) 0.858 8.34
8 threads (dining-philosophers 8) 0.864 7.11
10 threads (dining-philosophers 10) 0.797 11.63
15 threads (dining-philosophers 15) 0.657 14.96
20 threads (dining-philosophers 20) 0.066 19.33
30 threads (dining-philosophers 30) 0.061 20.42
40 threads (dining-philosophers 40) 0.095 19.76
50 threads (dining-philosophers 50) 0.125 19.25
100 threads (dining-philosophers 100) 0.092 18.11
200 threads (dining-philosophers 200) 0.053 17.70