Can anyone point to benchmark results comparing performance of C11/C++11 code using relaxed atomic operations (particularly memory_order_release
and memory_order_acquire
, but also memory_order_consume
and memory_order_relaxed
) versus the default memory_order_seq_cst
? All architectures are of interest. Thanks in advance.
I did a bit of benchmarking on ARMv7, see https://github.com/reinhrst/ARMBarriers for the report, the slides for my talk at EuroLLVM, and the seqlock code I used.
Short story: in the seqlock code, the Acquire/Release function was about 40% faster than the sequentially consistent version.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With