Posts

localVariable

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…
CalculateWithLoop

Single Threaded: Summation of a Vector

/
What is the fastest way to add the elements of a std::vector? This a question that I will pursue in the…
gcc

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…
sukzessiveOptimierungRelaxedSemantikEng

Ongoing Optimization: Relaxed Semantics with CppMem

/
With the relaxed semantics, we have no synchronizations and ordering constraints on atomic operations. Relaxed…
undefinedEng

Ongoing Optimization: A Data Race with CppMem

/
But we can improve and further improve the acquire-release semantics of the last post. Why should x be…
sukzessiveOptimierungSequenzielleKonsistenzEng

Ongoing Optimization: Acquire-Release Semantics with CppMem

/
With the acquire-release semantics, we break the sequential consistency. In the acquire-release semantics,…
sukzessiveOptimierungSequenzielleKonsistenzEng

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…
CppMemUeberblickNumbers

CppMem – An Overview

/
CppMem is an interactive tool for exploring the behavior of small code snippets of the C++ memory model.…
relaxed

Relaxed Semantics

/
The relaxed semantics is the end of the scale. The relaxed semantic is the weakest of all memory models…
acquireOperation

Acquire-Release Fences

/
Acquire and release fences guarantee similar synchronization and ordering constraints as atomics with…