While popular with game developers (as clear in this talk), the "automatic abstraction transpose" to struct of arrays (SOA) from array of structs (AOS) of ECS or "data-oriented" programming has more broadly interesting qualities.
As any row/column database devs will tell you, performance-wise, it is often a matter of "scales & commonality". If you always want two fields at the same time, one cache miss or IO is better than two. Ultimate performance in a scale/context general sense and purity/simplicity are ever at odds. Ah well.
1 comment
[ 2.8 ms ] story [ 14.3 ms ] threadAs any row/column database devs will tell you, performance-wise, it is often a matter of "scales & commonality". If you always want two fields at the same time, one cache miss or IO is better than two. Ultimate performance in a scale/context general sense and purity/simplicity are ever at odds. Ah well.