![localVariable](https://www.modernescpp.com/wp-content/uploads/2016/09/localVariable.png)
Multithreaded: Summation with Minimal Synchronization
/
0 Comments
Until now, I've used two strategies to summate a std::vector. First, I did the whole math in one thread…
![synchronizeWithLock](https://www.modernescpp.com/wp-content/uploads/2016/09/synchronizeWithLock.png)
Multithreaded: Summation of a Vector
My goal is to sum up all elements of a vector. I used in the last post a single thread. In this post,…
![CalculateWithLoop](https://www.modernescpp.com/wp-content/uploads/2016/09/CalculateWithLoop.png)
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](https://www.modernescpp.com/wp-content/uploads/2016/08/gcc.png)
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](https://www.modernescpp.com/wp-content/uploads/2016/08/sukzessiveOptimierungRelaxedSemantikEng.png)
Ongoing Optimization: Relaxed Semantics with CppMem
With the relaxed semantics, we have no synchronizations and ordering constraints on atomic operations.
Relaxed…
![undefinedEng](https://www.modernescpp.com/wp-content/uploads/2016/08/undefinedEng.png)
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](https://www.modernescpp.com/wp-content/uploads/2016/08/sukzessiveOptimierungSequenzielleKonsistenzEng.png)
Ongoing Optimization: Acquire-Release Semantics with CppMem
With the acquire-release semantics, we break the sequential consistency. In the acquire-release semantics,…
![sukzessiveOptimierungSequenzielleKonsistenzEng](https://www.modernescpp.com/wp-content/uploads/2016/08/sukzessiveOptimierungSequenzielleKonsistenzEng.png)
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…
![sukzessiveOptimierungLocksEng](https://www.modernescpp.com/wp-content/uploads/2016/08/sukzessiveOptimierungLocksEng.png)
Ongoing Optimization: Locks and Volatile with CppMem
The easiest way to solve the undefined behaviour in the post Ongoing Optimization: Unsynchronized access…
![undefinedEng](https://www.modernescpp.com/wp-content/uploads/2016/08/undefinedEng.png)
Ongoing Optimization: Unsynchronized Access with CppMem
I described my challenge in the last post. Let's 's start with our process of ongoing optimization. To…