At lunch today I learned about Transactional Synchronization Extensions (TSX) which is an implementation of transactional memory. The conversation started as a rant about why transactional memory is bad but then it evolved into how this concept even came to be and how it even got implemented if it’s such a terrible idea. What is transactional memory? First let’s start by going over what transactional memory is. You might be familiar with a deadlock. A deadlock occurs when a process or thr...