Skip to content

build: shirakami を third_party/shirakami サブモジュールとして追加#114

Merged
thawk105 merged 1 commit into
masterfrom
worktree-add-shirakami-submodule
Jun 5, 2026
Merged

build: shirakami を third_party/shirakami サブモジュールとして追加#114
thawk105 merged 1 commit into
masterfrom
worktree-add-shirakami-submodule

Conversation

@thawk105
Copy link
Copy Markdown
Owner

@thawk105 thawk105 commented Jun 5, 2026

Summary

  • ycsb / tpcc ベンチマークの比較対象として thawk105/shirakamithird_party/shirakami に submodule で追加
  • 配置は cc/ ではなく third_party/: cc/ は ccbench の TxExecutor 契約を実装した in-tree プロトコル置き場であり、外部エンジンを置くと意味が混ざるため
  • pin 先は upstream master fb14e65

設計メモ

  • shirakami は独立したトランザクションエンジン (独自 CMake / bench / test 持ち) なので、#97 / #98 で submodule → FetchContent 移行した gtest / masstree / mimalloc / spdlog (passive な build dep) とは位置付けが違う。ピン留めしたい比較ターゲットなので submodule で扱う方針
  • ccbench への組み込みは「third_party/shirakami/ = upstream そのまま」「cc/shirakami/ (本 PR では作らない) = TxExecutor を実装する adapter で shirakami の API を呼ぶ」の二層構成を想定。これにより既存の common/runner.hh テンプレート ([P2] ワークロードエントリポイント main() を common/runner.hh テンプレートに集約する #102) からシームレスに駆動できる

Out of scope (別 PR)

  • cc/shirakami/ の TxExecutor adapter 実装
  • CI workflow の actions/checkoutsubmodules: recursive を追加
  • docs/protocols_ja.md / docs/build_ja.md の更新 (clone 手順、submodule init コマンドなど、_ja/_en セット)

Test plan

  • git submodule update --init --recursive で shirakami が clone されること
  • 既存 build (cc/* / microbench / tpcc_silo) に影響がないこと
  • .gitmodules の path と section name が third_party/shirakami で一致していること

ycsb / tpcc ベンチマークの比較対象として thawk105/shirakami を取り込む準備。
shirakami は独立したトランザクションエンジンで FetchContent build dep とは
位置付けが違うため、ピン留めしたい submodule として third_party/ 配下に置く
(FetchContent 移行 #97/#98 とは別ポリシー)。

ccbench への統合 (TxExecutor adapter を cc/shirakami/ に実装、CI の
submodule checkout 対応、docs 更新) は別 PR で行う。
@thawk105 thawk105 merged commit 33d74a3 into master Jun 5, 2026
4 checks passed
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.

1 participant