I'm... staggered... you go on and on about 'cache efficiency' and then post a struct like that.. that abomination... which is just going to utterly utterly screw the cache over as it's just so damned large...
R.O.T.F.L.!!!!!!! no sh*t! <g>
that data structure is totally UN-optimized ! <g>
too big, poorly laid out. screams for a C-E system.
like you say, its way too big for the cache, data accesses jump all the heck all over.
that will most likely be addressed during the "quest for 900x accelerate time" optimizations.
right now, this "99 code changes" issue is more of a refactoring or re-design to simplify the code. but while refactoring the code, i do need to keep speed in mind as well as maintainability. thus the interest in cache friendly code (as opposed to cache friendly data).
despite its cache unfriendliness, its still plenty fast enough right now to run update at 450 Hz (fps) - fast enough for any normal shooter. but not fast enough for a vehicle sim that supports accelerated times on the order of 1024x - unless its one of those "go get a cup of coffee while you travel in accelerated time to your target" type vehicle sims.