Posts
My Conclusion: Summation of a Vector in three Variants
/
0 Comments
After I've calculated in three different ways the sum of a std::vector I want to draw my conclusions.
The…
Multithreaded: Summation with Minimal Synchronization
Until now, I've used two strategies to summate a std::vector. First, I did the whole math in one thread…
Thread-Safe Initialization of a Singleton
There are a lot of issues with the singleton pattern. I'm aware of that. But the singleton pattern is…
Ongoing Optimization: Sequential Consistency with CppMem
With atomic data types, you can tailor your program to your needs and optimize it. But now we are in…
Fences are Memory Barriers
The key idea of a std::atomic_thread_fence is to establish synchronization and ordering constraints between…
Acquire-Release Semantic
With the acquire-release semantics, the memory model gets very thrilling. Because now, we do not have…
Sequential Consistency applied
I have introduced In the post Sequential Consistency the default memory model. This model, in which all…
Synchronization and Ordering Constraints
In this post, our tour through the c++ memory model goes one step deeper. Until now, the posts were only…
Atomics
In addition to booleans, there is atomics for pointers, integrals, and user-defined types. The rules…
Sequential Consistency
The atomics are the base of the C++ memory model. Per default, sequential consistency is applied.
The…