Show HN: Single-Header Profiler for C++17
a year ago
- #performance
- #profiling
- #C++
- utl::profiler 是一个单文件头实现的轻量级性能分析工具,通过简单宏即可实现代码段耗时统计
- 功能特性:支持作用域耗时测量、表达式耗时测量、代码片段分析,并自动生成调用关系图
- 支持多线程分析、递归函数分析、CPU周期计数器时间戳,可在任意程序节点导出分析结果
- 通过定义`UTL_PROFILER_DISABLE`宏可完全禁用性能分析功能
- 提供丰富的样式配置选项:支持基于运行时长的缩进排版与色阶标记
- 采用低开销设计,支持使用CPU周期计数器指令(rdtsc)进一步降低性能分析开销
- 内存占用极简,通过`UTL_PROFILER_USE_SMALL_IDS`宏可使用更紧凑的ID格式节省内存
- 线程安全API设计,仅在创建/销毁线程或手动上传结果时需要最小粒度的锁操作