Still trying to process the irony of this very high cognitive-load programming technique (so high very few AAA developers use it), going into the engine mostly serving people who can barely program.https://twitter.com/mike_acton/status/979857844756406272 …
-
-
AFAIK the idea of STM is to give, in database terms, optimistic locking. So rollback & retry if there's a collision on commit. This is probably not what you want in a game as it would make runtime unpredictable.
-
In any case it's feasible to 'jobify' gameplay code to make use of all cores (e.g. Destiny). You wouldn't get the automatic perf benefits of cache efficiency and SIMDification that Unity's burst compiler gives, but you probably wouldn't get them from most gameplay code anyway.
End of conversation
New conversation -
-
-
You can go a long way with little cognitive overhead with just message passing and lock-free data structures in shared memory. If the only shared state is such that only one thread can write to a given object, reads are atomic, and writes don't lock, many bugs are impossible.
-
You can even get away with some occasional, momentary locking if it's solely to preserve atomicity and contention is limited. Substantially all of the error-prone bits are segmented off into the message passing objects anyway, so very few people need to even think about it.
- 3 more replies
New conversation -
-
-
You might want to contact SG5 (Transactional Memory). I think they're doing better than you expect, even though the feature not quite ready for C++20. You might both get a clear current status, and get to see if what's coming suits your needs
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
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.