Remix.run Logo
gpderetta 9 hours ago

The issue might be allocating the int contiguously in the first place. No language magic is going to help you avoid thinking about mechanical sympathy.

And allocating the int contiguously might actually be the right solution is the cost of sporadic false sharing is less than the cost of wasting memory.

There's no silver bullet.

magicalhippo 9 hours ago | parent [-]

But the mutex encapsulates the int, so if the mutex ensured it occupied a multiple of cache lines, there would be no contention. At the very small cost of a few bytes of memory.

gpderetta 9 hours ago | parent [-]

the mutex forcing alignment would be extremely wasteful. FWIW, I have used 1-bit spin locks.