跳到主要内容
版本:dev

基准测试方法论

有价值的序列化基准测试应记录足够的上下文,以便复现工作负载,并避免将语义不同的测试当作等价结果比较。

必需上下文

  • 仓库 commit 和依赖版本;
  • 硬件、操作系统、运行时版本和相关环境变量;
  • Schema 和对象填充方式;
  • xlang 或 native 模式、兼容模式、引用跟踪和注册方式;
  • 预热、fork/process、迭代次数、持续时间和并发度;
  • 测量的序列化表示和操作;
  • 精确命令和原始结果位置。

解读报告

只比较同一种操作和等价的数据语义。不要在不说明语义差异的情况下,将 xlang 载荷与 native 载荷比较, 或将完整对象重建与 Row Format 字段访问比较。基于 JIT 和代码生成的运行时需要有代表性的预热。

如果决策依赖当前代码,请运行当前有效的 benchmark harness。仓库中保存的报告只代表其记录的 commit 和环境。