I am curious, after now learning about both fine grained locking and transactional memory, if there are specific scenarios where fine grained locking is significantly better than TM. It seems that the two are either close in performance or TM is faster (at least for most of the examples we looked at in the TM lecture). Granted I am sure there are pathological cases where TM may be a really bad choice but, in general, it seems to be an upgrade from fine grained locking; especially when the relative complexities from the programmer's POV are considered.
I am curious, after now learning about both fine grained locking and transactional memory, if there are specific scenarios where fine grained locking is significantly better than TM. It seems that the two are either close in performance or TM is faster (at least for most of the examples we looked at in the TM lecture). Granted I am sure there are pathological cases where TM may be a really bad choice but, in general, it seems to be an upgrade from fine grained locking; especially when the relative complexities from the programmer's POV are considered.