Hasty Briefsbeta

Bilingual

Trust your compiler: Modern C++

4 days ago
  • #Compiler Performance
  • #C++ Optimization
  • #Modern C++
  • Modern C++ compilers (like Clang and GCC) can produce optimal code from naive implementations, making many old performance tricks obsolete.
  • Fast inverse square root, once a clever optimization for old CPUs, is now comparable to naive implementations thanks to compiler and hardware advances.
  • Standard library features like <bit> for popcount, ranges, and algorithms offer clear, portable code that often matches or beats hand-optimized versions.
  • Error handling with std::expected outperforms exceptions for expected failures, while exceptions remain suitable for truly exceptional cases.
  • Data layout (e.g., using std::variant over virtual pointers) and contiguous storage significantly impact performance more than dispatch mechanisms alone.
  • Perfect forwarding preserves caller intent and can avoid unnecessary copies, outperforming const& in forwarding scenarios.
  • Compiler optimizations reward clear intent: writing obvious code often leads to better performance through inlining, vectorization, and target-specific lowering.