3 ms·
I think this is the reasoning behind preferring SOA vs AOS.
by webaholic 10y ago
I think this is the reasoning behind preferring SOA vs AOS.
- userbinator 10y agoHow are Service-Oriented Architectures and... Architecture-Oriented Services(?) relevant to cache misses? There's more locality in the former, because each service is more specific?
- deleted 10y ago[deleted]
- Kronopath 10y agoStructure of arrays vs. array of structures. I.e. Having one struct that contains several arrays as its members, vs. having one array that contains several structs as its elements. The former keeps like data together, so when you need to, for example, iterate over the position vectors of a bunch of objects in a 3D graphics program, all the position vectors for all the objects are tightly packed in the same array, increasing cache efficiency.
- userbinator 10y agoI've always called those "parallel arrays" --- and they were around long before Service Oriented Architectures: https://en.wikipedia.org/wiki/Parallel_array https://en.wikipedia.org/wiki/Parallel_array
- Sindisil 10y agoAOS == Array of Structures SOA == Structure of Arrays
- Sindisil 10y agoOops, meant to reply to the sibling comment confusing the TLAs with web domain definitions.
- halomru 10y agoI view SoA vs AoS (with SoA frequently being more performant) as a choice to maximise the efficiency of the cache, while this article is more about how reducing data dependency makes caches less important. Two different means to solve the same problem.