程序性能分析的五个要素

评估 API / 库性能时需要同时关注的五个维度

Posted by BY on April 25, 2026

原始笔记是一段英文要点,这里只做分类与中文简注,方便扫读。

当前保留内容

衡量一个 API / 库的性能不能只看运行时耗时,下面五个维度需要一起看:

  1. Compile-time speed(编译期开销) 你的 API 对客户端程序编译时间的影响。会直接影响用户的开发效率。
  2. Run-time speed(运行期耗时) 调用 API 方法的时间开销。如果方法调用非常频繁,或者需要在不同输入规模下都保持良好扩展性,这一项尤其重要。
  3. Run-time memory overhead(运行期内存开销) 调用 API 方法所带来的额外内存开销。如果对象会被大量创建并长期保留在内存中,这一项不仅影响内存占用,还可能影响 CPU cache 性能。
  4. Library size(库体积) 实现的目标代码尺寸,会被链接进客户端应用。它影响客户端应用整体的磁盘占用和内存占用。
  5. Startup time(启动时间) 动态库加载并完成初始化所需的时间。受多种因素影响:模板解析、未解析符号绑定、静态初始化器调用、库搜索路径等。

后续可补的方向

这篇后续如果继续整理,建议至少补下面几类内容:

  • 每个维度对应的常用度量工具(如编译耗时统计、benchmark 框架、size/bloaty、启动 trace 等)
  • “牺牲 A 换 B” 的常见取舍案例(如模板内联换运行时性能、付出编译时间换二进制体积)
  • 实际项目中按场景排序的优先级建议(库 vs 应用 vs 框架)

当前这篇先当作一个”性能五要素”的速记占位条目。