Bytes before FLOPS: your algorithm is (mostly) fine, your data isn't
6 months ago
- #data-oriented-design
- #optimization
- #performance
- 在优化前先分析代码性能,找出真正的瓶颈所在。
- 针对数据特点定制算法以获得更佳性能。
- 优化数据访问模式,使其对缓存友好。
- 在可能的情况下使用SIMD指令进行向量化处理。
- 通过并行处理获取额外速度提升。
- 注意多线程场景下的伪共享问题。
- 考虑数据布局和结构体填充以提升缓存效率。
- 使用hyperfine、perf、VTune和godbolt.org等工具进行分析。
- 脚本语言可能不适合高性能需求场景,建议优先选择C/C++/Rust等系统级语言。