There are many reasons why a program doesn't scale well across multiple cores. Synchronization is often to blame, or it could be a saturated memory bus. In this article, I will concentrate on another concurrency hazard: false sharing.
Lesson: Understand what a cache line is. This is particularly important for runtime/vm developers; because the effect is multiplied by the users.
Comments