Usually, when discussing on performance in games, cache misses and localities come like the real problem. But i feel like videogames are too focus optimization in that way.
For example, the author of this blog entry talks on how essential is a good datastructure to achieve high performance. But out of a situation where you have many entities that will stay on movement almost always, i cannot come with an example where these optimizations can help:
Handling the player inventory is a inherently a complex task. You are not going to iterate every inventory to check whether or not an entity wants to retrieve/add an item from/to its inventory.
Combat is usually intensive and fast, but from the perspective of the cpu, not frequent. Not every entity will be slashing and definitely not every frame.
AI is another good example where you hardly can optimize using big arrays of data. In starcraft linked list were used:
Linked lists were used extensively in the engine to track units with shared behavior. With twice the number of units of its predecessor — StarCraft had a maximum of 1600, up from 800 in Warcraft 2 — it became essential to optimize the search for units of specific types by keeping them linked together in lists.
So, my question is: Is the cache friendly approach to optimize games wrong or misused?