nur weil jemand am markansten seine Meinung vertritt, hast er immer recht?
Hast Du mal google nach std::map gefragt? Warum gibt es so viele Artikel die von der Verwendung
von std::map abraten? Weil sie langsam ist. Weil die Einträge eventuell wild im Speicher verteilt sind.
Ich verwende extra in Array damit die Daten effizient aus dem Speicher geladen werden können.
Sie liegen alle sequentiell dort. Bei einer Map auch?
1) Die Einträge sind auf dem Heap dynamisch erzeugte Einträge, was schon allein dafür sorgt, dass sie ohnehin "wild im Speicher verteilt" sind.
2) O(log n) ist besser als O(n)
3) Ist das premature optimisation - Wenn irgendwann mal die Map sein Bottleneck sein sollte, kann er das noch umstellen. Ist allerdings anzuzweifeln, dass das jemals eintritt. Bis dahin gilt clean code und: Premature optimization is the root of all evil.
4) Data Oriented schön und gut, das ist Dein Ansatz nur leider nicht wirklich. Zudem ist das ein Paradigmen Krieg, den wohl keine Seite gewinnen wird.
5) Wie dot schon sagte hängt da ein eventuelles Laden einer Datei dran. Daran sieht man schon, WANN diese Methode überhaupt aufgerufen werden darf/sollte. Nämlich dann, wenn es sowieso nicht relevant für einen Echtzeiteinsatz ist.