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 …
-
-
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 threadThanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
Data oriented design has got to be the way to go, IMHO. From your garbage collection experiments it seems like your betting on the other alternative though?
-
Epic isn’t betting on this approach. But I’m betting my two-week coding vacation on it.
- 3 more replies
New conversation -
-
-
Data oriented approach is not only motivated by parallelism but perhaps more importantly by efficient cache use. It is necessary if you’re hoping to achieve large throughput, naive object oriented approach is a huge waste.
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
He's speaking the language of billionares
-
This Tweet is unavailable.
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.