More recently, there has been a shift toward blocking implementations of STM. This has been accompanied by several significant performance optimizations, making blocking STMs far more practical. A general hypothesis, based on informal arguments, has emerged that nonblocking STMs are fundamentally slower than blocking STMs. In this talk I will show that this hypothesis is wrongly founded, and that nonblocking STMs can approach the performance of, and even outperform, state-of-the-art blocking STMs. I will present several variants of our most recent nonblocking STM that are competitive with state-of-the-art blocking STMs.