So, whenever someone asks on @handmade_hero why I don't use C++'s atomics, I can just cut-and-paste this link:https://stoyannk.wordpress.com/2016/04/30/msvc-mutex-is-slower-than-you-might-expect/ …
-
-
Replying to @cmuratori
@cmuratori@handmade_hero@stoyannk but Ms could add this at any other level, even below crit_section, after all you are on their platform.1 reply 0 retweets 0 likes -
Replying to @cyberkm
@cyberkm@handmade_hero@stoyannk Nope. On Handmade Hero we code the mutexes ourselves specifically so that crap doesn't happen.1 reply 0 retweets 0 likes -
Replying to @cmuratori
@cmuratori@cyberkm@stoyannk You'll note, for example, that we never call critical section! We use interlocked exchange intrinsics.1 reply 0 retweets 1 like -
Replying to @cmuratori
@cmuratori@cyberkm@stoyannk Pure interlocked implies a spin loop though - do you not yield the CPU?1 reply 0 retweets 1 like -
Replying to @grumpygiant
@grumpygiant@cyberkm@stoyannk We never take locks for long on HH, so there should be no yielding during mutexes.1 reply 0 retweets 0 likes -
Replying to @cmuratori
@cmuratori@grumpygiant@cyberkm@stoyannk I think we can actually get _rid_ of the only actual mutex now, too, since we yanked ground.1 reply 0 retweets 1 like -
Replying to @cmuratori
@cmuratori@grumpygiant@cyberkm@stoyannk It used to be background rendered, and that was the mutex (for bitmap eviction)1 reply 0 retweets 0 likes -
Replying to @cmuratori
@cmuratori@grumpygiant@cyberkm@stoyannk All our other stuff is just interlocked exchange retry, so it would never really spin...1 reply 0 retweets 0 likes
@cmuratori @grumpygiant @cyberkm @stoyannk ... just loop once or twice if it was unlucky.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.