Hasty Briefsbeta

双语

When Compiler Optimizations Hurt Performance

7 months ago
  • #UTF-8
  • #Performance
  • #Benchmarking
  • UTF-8序列长度计算的基准测试技术揭示了性能差异
  • 硬件辅助的前导零位计数性能表现不佳(处理速度438 MB/s至462 MB/s),不如朴素方法
  • 编译器生成的switch-case优化查找表性能反而劣于分支指令(超过2000 MB/s)
  • 在clang++中使用`-fno-jump-tables`禁用跳转表后,性能提升至与朴素方法相当
  • 针对AArch64架构的GNU g++编译器不会生成查找表,使得`-fno-jump-tables`选项无效
  • Julian Squires(2017年)的前期研究在x86-x64平台上得出了类似结论