Hasty Briefsbeta

双语

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可能稍慢,但在大多数实际场景中差异可以忽略,除非对性能有严格要求,否则应优先考虑代码可读性