c++ - C11/C++11 弱内存基准测试

标签 c++ c atomic memory-model stdatomic

任何人都可以指出比较使用宽松原子操作的 C11/C++11 代码性能的基准测试结果(特别是 memory_order_releasememory_order_acquire,还有 memory_order_consumememory_order_relaxed)与默认的 memory_order_seq_cst?所有架构都令人感兴趣。提前致谢。

最佳答案

我在 ARMv7 上做了一些基准测试,请参阅 https://github.com/reinhrst/ARMBarriers报告、我在 EuroLLVM 演讲的幻灯片以及我使用的 seqlock 代码。

短篇故事:在 seqlock 代码中,Acquire/Release 函数比顺序一致版本快约 40%。 enter image description here

关于c++ - C11/C++11 弱内存基准测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19752496/

相关文章:

java - 原子整数不当行为

sql - 是否有可能在 Postgres 中有多个原子的更新插入操作?

c++ - 多行标准输入 - C++

c++ - "template<class... Ts> struct overloaded : Ts... { using Ts::operator()...; };"是什么意思,它如何与 std::visit 一起使用?

c++ - 即使使用前向声明也会出现未定义的类型错误

c++ - 如何检查给定进程在运行时加载了哪些共享库?

c++ - FreeRTOS+STM32F4+CPP调用vTaskDelay时卡住

python - 是否有必要使用 SWIG 在接口(interface)文件中提及包装的 .c 文件的所有函数?

c - 编译时类型不完整,类型已经定义

python - Redis,只允许对现有键进行操作