Raw Loops for Performance?
a year ago
- #Ranges
- #C++
- #Performance
- 作者加入了一个新项目并开始进行小规模改进,包括用C++20 ranges替代原始循环
- 对使用原始循环(配合`push_back`)和C++20 ranges(`std::ranges::transform`)进行数据转换的性能做了对比
- 性能测试表明,使用`emplace_back`和`reserve`的原始循环比ranges更快,但ranges提供了更好的代码可读性
- 作者总结认为虽然ranges可能稍慢,但在大多数实际场景中差异可以忽略,除非对性能有严格要求,否则应优先考虑代码可读性