4
我是否过早优化?
我目前处于C ++中基于组件的体系结构的设计阶段。 我当前的设计包括以下功能的使用: std::vector的,共std::shared_ptrs个以容纳组件 std::dynamic_pointer_cast std::unordered_map<std::string,[yada]> 组件将代表类游戏软件所需的各种项目的数据和逻辑,例如图形,物理,AI,音频等。 我到处都读到高速缓存未命中会影响性能,因此我进行了一些测试,这使我相信确实会降低应用程序的速度。 我还无法测试上述语言功能,但据说在许多地方,这些功能会花费很多,因此应尽可能避免。 由于我正处于架构的设计阶段,并且这些将包含在设计的核心中,因此,现在我应该设法设法避免使用它们,因为如果有性能,以后很难对其进行更改问题? 或者我只是在做过早的优化而陷入困境?