I'm starting to transition away from an OOP mindset into a Data-Oriented Mindset. I've been following a lot of the old Insomniac studio materials on SIMD and Data-Oriented programming in general. Insomniac seems to be a proponent of including intrinsic explicit SIMD optimization wherever it can bring performance boosts and even structuring their data for that purpose.
Casey seems to use intrinsics for explicit SIMD in math calculations, but not so much in the general engine code.
I'm trying to come to terms with the differences between what Casey teaches/does in Handmade Hero with what I've seen at Insomniac, especially from Mike Acton. Is there some disconnect between how Casey structures his code (from a Data oriented perspective) and how someone like Mike Acton does?
I believe there is nothing to optimize with SIMD in general HH engine code. It probably will come later - maybe for
pathfinding, or some AI rules.
First you need to write engine/game, only then optimize, otherwise there is nothing to optimize. See how lighting was made - a lot of hours spend implementing/debugging lighting solution as scalar. And now (day 431/432) it is being optimized with SIMD. Same was done with software rendering way back.