Skip to content

refactor: per-protocol result.cc を撲滅し initResult を共通化 (#101)#108

Merged
thawk105 merged 1 commit into
masterfrom
p2-consolidate-result
May 15, 2026
Merged

refactor: per-protocol result.cc を撲滅し initResult を共通化 (#101)#108
thawk105 merged 1 commit into
masterfrom
p2-consolidate-result

Conversation

@thawk105
Copy link
Copy Markdown
Owner

Summary

  • 10 protocol の cc/<proto>/result.cc (8〜14 行のグローバル変数の殻) を撲滅し、common/result.cc の単一 CCBenchResults + initResult(std::size_t) に集約
  • resize 引数のプロトコル間の揺れ (FLAGS_thread_num vs TotalThreadNum) は、バッチスレッドを含めて全プロトコルで TotalThreadNum に統一
  • cc/<proto>/include/result.hh は root include/result.hh への forwarder にして、既存の include 行をそのまま使えるように

Closes #101

Test plan

  • GCC 13 (CI と同じ) で Release ビルドが全 protocol × 全 workload で通る
  • GCC 13 で Debug+ASan ビルドが全 protocol × 全 workload で通る
  • CI green

10 プロトコル (cicada, d2pl, ermia, mocc, mvto, oze, si, silo, ss2pl,
tictoc) ごとに置かれていた `cc/<proto>/result.cc` (8〜14 行) は、
グローバル変数名 (`SiloResult`, `CicadaResult`, ...) が違うだけの
殻だった。これを `common/result.cc` の単一 `CCBenchResults` ベクター
+ `initResult(std::size_t)` に集約する。

- 各 protocol の `<Proto>Result` グローバルと parameterless
  `initResult()` を撤去
- 各ワークロードエントリポイントと `transaction.cc` の参照を
  `CCBenchResults` に置換
- `cc/<proto>/result.cc` (10 個) を削除
- 各 `CMakeLists.txt` の SOURCES から `result.cc` を除外
- `cc/<proto>/include/result.hh` は root `include/result.hh` への
  forwarder にして既存の include 行を変えずに済むように
- `initResult()` の resize 引数のプロトコル間の揺れ
  (`FLAGS_thread_num` vs `TotalThreadNum`) は、バッチスレッドを
  含めて全プロトコルで `TotalThreadNum` に統一

Release / Debug+ASan 両モードを GCC 13 (CI と同じ) で 10 protocol
× 全 workload フルビルド検証済み。

Closes #101
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[P2] per-protocol result.cc を撲滅し initResult を共通化する

1 participant