tree: f5c51cd4d3e2ef79e733c1f7ee9b24064a299171
  1. codec_bench.cpp
  2. F5_codec_throughput.pdf
  3. README.md
cpp/experiment/chap05/E5_1_codec/README.md

E5-1:编解码吞吐 SIMD ON/OFF

状态:TODO

产出:T5-1(编码吞吐)、T5-2(解码吞吐)

程序:codec_bench

直接对 ChunkWriter(编码)/ ChunkReader(解码)计时,绕过完整读写路径,精确测量 SIMD 加速比,排除 I/O 干扰。单线程运行(C1 vs C3)。

编译配置

配置用途
C1标量基线(SIMD OFF)
C3仅 SIMD ON(无多线程)

实验参数矩阵

变量取值
操作编码(T5-1)/ 解码(T5-2)
数据类型INT32 / INT64 / FLOAT / DOUBLE
SIMDON / OFF(编译配置控制)

固定:W0 基线规模,SNAPPY 压缩(减少压缩耗时干扰编解码测量)。

输出

  • encode_results.csvdtype, simd, throughput_mrows_s, speedup
  • decode_results.csvdtype, simd, throughput_mrows_s, speedup

预期结论

  • 编码加速比受 rebase 在编码总耗时中占比影响(当前仅 rebase 步骤已 SIMD 化)
  • 解码加速比约 1.3–2×,INT64 比 INT32 更显著(位宽更宽,SIMD 批处理收益更大)
  • FLOAT/DOUBLE(GORILLA 编码)加速比取决于 SIMD 化程度

与 E5-3 的关系

E5-3(跨平台对比)复用本程序,在不同硬件平台上运行相同二进制,产出 T5-4。