First page Back Continue Last page Graphics
Why object-based transactions?
Synchronization abstraction matches programming abstraction
- No false sharing due to variables incidentally colocated in same word/cache line/page. Possible deadlock!
Matching the programming abstraction allows better compiler analysis and optimization of transactional code
- For example, escape analysis
Performance benefits for long-running transactions
- Pay cloning costs up-front, then run at full-speed in own copy of the object graph
Notes: