This is up and running as a C++ library. Currently transactional variable reads and writes are ~50x slower than ordinary variables. 40% the overhead is transaction bookkeeping, 40% is concurrent garbage collection bookkeeping, 20% is platform atomics. Many optimizations to go.https://twitter.com/TimSweeneyEpic/status/1210260682605764611 …
-
-
I've had to re-learn my code optimization intuition from the late 90's. C++ compiler optimization is magic now, and Skylake can reliably issue 4-6 instructions per clock. But control flow misprediction has become wildly expensive.
Show this thread -
Anyway, there are two competing theories on how we'll unlock higher performance through parallelism. One is the data oriented design approach, asking programmers to rewrite gameplay code as highly parallel fragments of algorithms that pipe inputs and outputs among stages.
Show this thread -
The other is transactions, hoping we can just write gameplay code using "var<int> Health;" instead of "int health;", write code to minimize unnecessary contention for shared state, and have the engine and API magically sort out concurrency for us.
Show this thread
End of conversation
New conversation -
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.