Let's stop tinkering and put some order instead
- Jan 21st, 2018 -This is the first of a series of papers I'll post to collect concepts and ideas I found remarkable during my everyday tasks dealing with programming, computer science, compilers and so on. Besides, it may be intended just as an effort to give some sort of usefulness to these dark-web pages which have been ignored for too long. I begin with a paper describing the C++ memory model, whose thorough understanding is fundamental to exploit the full potential of modern multicore architectures. Along with atomic operations, it paves the way to lock-free programming, an elegant way to deal with shared data in concurrent environments. This guarantees a lower overhead and, generally, better performances in comparison to more common techniques based on mutexes, condition variables, etc. The C++ Memory Model