已开启
MR #4
QLiangong创建于  7月9日
QLiangong
QLiangong成员
7月9日 创建
# wasmtime 一键模式(main 分支)
./target/release/collector bench_runtime_local +nightly \
    --group wasmtime --id "wt_run_1" --db results.db \
    --iterations 1 -- --auto-setup

# wasmtime 一键模式(指定 tag)
./target/release/collector bench_runtime_local +nightly \
    --group wasmtime --id "wt_run_1" --db results.db \
    --iterations 1 -- --auto-setup --wasmtime-version v48.0.0

# wasmtime 已有目录 + 只跑 compile 和 call
./target/release/collector bench_runtime_local +nightly \
    --group wasmtime --id "wt_run_1" --db results.db \
    --iterations 1 -- --wasmtime-dir /path/to/wasmtime --bench-filter "compile,call"

# firecracker 一键模式(指定 commit)
./target/release/collector bench_runtime_local +nightly \
    --group firecracker --id "fc_run_1" --db results.db \
    --iterations 1 -- --auto-setup --fc-version abc123
likedislike
QLiangong
QLiangong成员
7月9日 评论:
./target/release/collector bench_runtime_local +nightly     --group wasmtime --id "wt_run_1" --db results.db     --iterations 1 -- --auto-setup --wasmtime-version v46.0.1
Using database `results.db`
Compiling 0 runtime benchmark group(s)
Executing 0 benchmarks

likedislike
QLiangong
QLiangong成员
7月9日 评论:
./target/release/collector bench_runtime_local +nightly     --group wasmtime --id "wt_run_1" --db results.db     --iterations 1 -- --auto-setup
Using database `results.db`
Compiling 1 runtime benchmark group(s)
Compiling `wasmtime`             (1/1)
Executing 0 benchmarks
likedislike
QLiangong
QLiangong成员
7月9日 评论:

./target/release/collector bench_runtime_local +nightly --group wasmtime --id "wt_run_3" --db results.db --iterations 1 -- --auto-setup --wasmtime-version v46.0.1

[07:29:20] [CMD] cd /home/y30075072/test/rust-bench/benchmark/wasmtime && cargo bench -p wasmtime-wizer --bench regex
[07:30:09] [OUT] STDERR:
[07:30:09] [OUT]    Compiling log v0.4.28
[07:30:09] [OUT]    Compiling fnv v1.0.7
[07:30:09] [OUT]    Compiling stable_deref_trait v1.2.0
[07:30:09] [OUT]    Compiling arbitrary v1.4.2
[07:30:09] [OUT]    Compiling futures-sink v0.3.31
[07:30:09] [OUT]    Compiling futures-core v0.3.31
[07:30:09] [OUT]    Compiling wasmtime-internal-cranelift v46.0.1 (/home/y30075072/test/rust-bench/benchmark/wasmtime/crates/cranelift)
[07:30:09] [OUT]    Compiling regex-syntax v0.7.4
[07:30:09] [OUT]    Compiling target-lexicon v0.13.3
[07:30:09] [OUT]    Compiling tracing-core v0.1.34
[07:30:09] [OUT]    Compiling clap_builder v4.5.48
[07:30:09] [OUT]    Compiling anstream v0.6.21
[07:30:09] [OUT]    Compiling gimli v0.33.0
[07:30:09] [OUT]    Compiling wasmtime v46.0.1 (/home/y30075072/test/rust-bench/benchmark/wasmtime/crates/wasmtime)
[07:30:09] [OUT]    Compiling tokio v1.51.1
[07:30:09] [OUT]    Compiling smallvec v1.15.1
[07:30:09] [OUT]    Compiling wasmparser v0.251.0
[07:30:09] [OUT]    Compiling yoke v0.7.5
[07:30:09] [OUT]    Compiling futures-channel v0.3.31
[07:30:09] [OUT]    Compiling pulley-interpreter v46.0.1 (/home/y30075072/test/rust-bench/benchmark/wasmtime/pulley)
[07:30:09] [OUT]    Compiling wit-parser v0.251.0
[07:30:09] [OUT]    Compiling wasmtime-environ v46.0.1 (/home/y30075072/test/rust-bench/benchmark/wasmtime/crates/environ)
[07:30:09] [OUT]    Compiling witx v0.9.1
[07:30:09] [OUT]    Compiling zerovec v0.10.4
[07:30:09] [OUT]    Compiling futures-util v0.3.31
[07:30:09] [OUT]    Compiling regalloc2 v0.15.1
[07:30:09] [OUT]    Compiling cap-net-ext v3.4.5
[07:30:09] [OUT]    Compiling tracing v0.1.41
[07:30:09] [OUT]    Compiling cranelift-control v0.133.1 (/home/y30075072/test/rust-bench/benchmark/wasmtime/cranelift/control)
[07:30:09] [OUT]    Compiling tinystr v0.7.6
[07:30:09] [OUT]    Compiling icu_collections v1.5.0
[07:30:09] [OUT]    Compiling regex-automata v0.3.3
[07:30:09] [OUT]    Compiling icu_locid v1.5.0
[07:30:09] [OUT]    Compiling cranelift-codegen-meta v0.133.1 (/home/y30075072/test/rust-bench/benchmark/wasmtime/cranelift/codegen/meta)
[07:30:09] [OUT]    Compiling icu_provider v1.5.0
[07:30:09] [OUT]    Compiling clap v4.5.48
[07:30:09] [OUT]    Compiling icu_locid_transform v1.5.0
[07:30:09] [OUT]    Compiling wasmtime-internal-wit-bindgen v46.0.1 (/home/y30075072/test/rust-bench/benchmark/wasmtime/crates/wit-bindgen)
[07:30:09] [OUT]    Compiling wit-component v0.251.0
[07:30:09] [OUT]    Compiling futures v0.3.31
[07:30:09] [OUT]    Compiling icu_properties v1.5.1
[07:30:09] [OUT]    Compiling wasmtime-internal-component-macro v46.0.1 (/home/y30075072/test/rust-bench/benchmark/wasmtime/crates/component-macro)
[07:30:09] [OUT]    Compil...(truncated)
[07:30:09] [ERR] command exited with 101: cd /home/y30075072/test/rust-bench/benchmark/wasmtime && cargo bench -p wasmtime-wizer --bench regex
[07:30:09] [ERR] bench regex failed (command exited with 101: cd /home/y30075072/test/rust-bench/benchmark/wasmtime && cargo bench -p wasmtime-wizer --bench regex), continuing to next bench
[07:30:09] [INFO] running bench: uap
[07:30:09] [CMD] cd /home/y30075072/test/rust-bench/benchmark/wasmtime && cargo bench -p wasmtime-wizer --bench uap
[07:30:09] [OUT] STDERR:
[07:30:09] [OUT]    Compiling wasmtime-wizer v46.0.1 (/home/y30075072/test/rust-bench/benchmark/wasmtime/crates/wizer)
[07:30:09] [OUT] error[E0599]: no method named `run` found for struct `Wizer` in the current scope
[07:30:09] [OUT]   --> crates/wizer/benches/uap.rs:70:65
[07:30:09] [OUT]    |
[07:30:09] [OUT] 70 |         let wizened = assert_ready(wasmtime_wizer::Wizer::new().run(
[07:30:09] [OUT]    |                                    -----------------------------^^^ method not found in `Wizer`
[07:30:09] [OUT] 
[07:30:09] [OUT] For more information about this error, try `rustc --explain E0599`.
[07:30:09] [OUT] error: could not compile `wasmtime-wizer` (bench "uap") due to 1 previous error
[07:30:09] [ERR] command exited with 101: cd /home/y30075072/test/rust-bench/benchmark/wasmtime && cargo bench -p wasmtime-wizer --bench uap
[07:30:09] [ERR] bench uap failed (command exited with 101: cd /home/y30075072/test/rust-bench/benchmark/wasmtime && cargo bench -p wasmtime-wizer --bench uap), continuing to next bench
[07:30:09] [INFO] emitting 360 benchmark results...
[07:30:09] [INFO] === all benchmarks complete ===

likedislike
QLiangong
QLiangong成员
7月9日 评论:
# 一键模式(默认 p0 + native,5 个命令)
./target/release/collector bench_runtime_local +nightly \
    --group tikv --id "tikv_run_1" --db results.db \
    --iterations 1 -- --auto-setup

# 一键模式(全量 4 阶段 + 2 配置,21 个命令)
./target/release/collector bench_runtime_local +nightly \
    --group tikv --id "tikv_run_1" --db results.db \
    --iterations 1 -- --auto-setup --stages "p0,p1,p2,p3" --configs "portable,native"

# 已有目录 + 指定版本
./target/release/collector bench_runtime_local +nightly \
    --group tikv --id "tikv_run_1" --db results.db \
    --iterations 1 -- --tikv-dir /path/to/tikv --tikv-version v7.5.0
likedislike
QLiangong
QLiangong成员
7月10日 评论:
通用格式
./target/release/collector bench_runtime_local +nightly \
    --group <模块名> --id "<运行ID>" --db results.db \
    --iterations <轮次> -- [模块专属参数]
1. Monoio(网络 I/O 吞吐+延迟)
# 基本运行
./target/release/collector bench_runtime_local +nightly \
    --group monoio --id "monoio_run_1" --db results.db \
    --iterations 1 -- --warmup-minutes 0

# 自定义参数
-- --warmup-minutes 1 --measure-seconds 10 --conns-per-core 150
2. Daft(Spark SQL 查询性能)
# 基本运行
./target/release/collector bench_runtime_local +nightly \
    --group daft --id "daft_run_1" --db results.db \
    --iterations 1 -- --data-folder ./data --tpcds-scale-factor 1

# 自定义参数
-- --bind-config "default=0,24" --perf-freq 249
3. Auron(Spark TPC-DS 加速器)
# 一键模式
./target/release/collector bench_runtime_local +nightly \
    --group auron --id "auron_run_1" --db results.db \
    --iterations 1 -- --auto-setup

# 一键模式 + 指定版本
-- --auto-setup --auron-version v7.0.0

# 已有目录模式
-- --auron-dir /path/to/auron \
   --spark-home /path/to/spark-3.5.6-bin-hadoop3 \
   --data-location /tmp/tpcds_1g

# 分开模式(每查询单独 spark-submit)
-- --auto-setup --split-queries

# 自定义参数
-- --rest-seconds 5 --max-retries 3
4. Firecracker(microVM 启动时间)
# 一键模式
./target/release/collector bench_runtime_local +nightly \
    --group firecracker --id "fc_run_1" --db results.db \
    --iterations 1 -- --auto-setup

# 一键模式 + 指定版本
-- --auto-setup --fc-version v1.7.0

# 已有目录模式
-- --fc-dir /path/to/firecracker

# 指定测试类型
-- --test-filter test_boottime
5. Wasmtime(WebAssembly 运行时)
# 一键模式
./target/release/collector bench_runtime_local +nightly \
    --group wasmtime --id "wt_run_1" --db results.db \
    --iterations 1 -- --auto-setup

# 一键模式 + 指定版本
-- --auto-setup --wasmtime-version v46.0.1

# 已有目录模式
-- --wasmtime-dir /path/to/wasmtime

# 只跑部分 bench
-- --bench-filter "compile,call"
6. TiKV(分布式 KV 数据库)
# 一键模式(默认 p0 + native)
./target/release/collector bench_runtime_local +nightly \
    --group tikv --id "tikv_run_1" --db results.db \
    --iterations 1 -- --auto-setup

# 一键模式 + 指定版本
-- --auto-setup --tikv-version v7.5.0

# 已有目录模式
-- --tikv-dir /path/to/tikv

# 全量 4 阶段 + 双配置
-- --auto-setup --stages "p0,p1,p2,p3" --configs "portable,native"

# 只跑 p0 + portable
-- --stages p0 --configs portable
Site 查看结果
# 启动 site
./target/release/site results.db

# 浏览器访问(必须带 stat=wall-time)
http://localhost:2346/compare.html?start=<run_1>&end=<run_2>&stat=wall-time
likedislike
QLiangong
QLiangong成员
7月14日 评论:
Collector 包(部署在 benchmark 机器上):
rust-bench-collector/
├── collector                        # 二进制(根目录)
├── runtime-benchmarks/              # benchmark 模块源码
│   ├── daft/
│   ├── auron/
│   ├── firecracker/
│   ├── wasmtime/
│   ├── tikv/
│   └── monoio/
├── benchlib/                        # 依赖库源码
├── site-config.toml.example         # 配置模板(CI 模式需要)
└── README.md
Site 包(部署在 Web 服务器上):
rust-bench-site/
├── site                             # 二进制(根目录)
├── site-config.toml.example         # 配置模板
└── README.md
likedislike
QLiangong
QLiangong成员
7月15日 评论:

collector bench_runtime_local +nightly --group wasmtime --id "wt_run_1" --db results.db --iterations 1 -- --wasmtime-dir /home/y30075072/test/rust-bench/benchmark/wasmtime --bench-filter "compile"

./collector bench_runtime_local +nightly  --group wasmtime --id "wt_run_1" --db results.db    --iterations 1 -- --wasmtime-dir /hom
e/y30075072/test/rust-bench/benchmark/wasmtime  --bench-filter "compile"
Using database `results.db`
Compiling 1 runtime benchmark group(s)
Compiling `wasmtime`             (1/1)
[2026-07-15T02:31:55Z ERROR collector::runtime::benchmark] Cannot compile runtime benchmark group `wasmtime` Cannot compile runtime benchmark wasmtime
    
    Caused by:
        0: Failed to compile runtime benchmark `wasmtime`
        1: Failed to run cargo, exit code 101
           
Executing 0 benchmarks
likedislike
QLiangong
QLiangong成员
7月15日 评论:
# 1. 检查 benchlib 目录是否存在且完整
ls -la benchlib/
ls -la benchlib/src/

# 2. 检查 wasmtime 的 Cargo.toml 中 benchlib 路径
cat runtime-benchmarks/wasmtime/Cargo.toml | grep benchlib

# 3. 手动运行 cargo build 看具体错误
cd runtime-benchmarks/wasmtime
cargo build --release 2>&1 | tail -30
cd ../..

# 4. 检查 Cargo.lock 是否存在
ls -la runtime-benchmarks/wasmtime/Cargo.lock
ls -la benchlib/Cargo.lock
likedislike
QLiangong
QLiangong成员
7月15日 评论:
# 1. 检查 benchlib 目录是否存在且完整
ls -la benchlib/
ls -la benchlib/src/

# 2. 检查 wasmtime 的 Cargo.toml 中 benchlib 路径
cat runtime-benchmarks/wasmtime/Cargo.toml | grep benchlib

# 3. 手动运行 cargo build 看具体错误
cd runtime-benchmarks/wasmtime
cargo build --release 2>&1 | tail -30
cd ../..

# 4. 检查 Cargo.lock 是否存在
ls -la runtime-benchmarks/wasmtime/Cargo.lock
ls -la benchlib/Cargo.lock
total 16
drwxr-xr-x 3 root root 4096 Jul 15 10:12 .
drwxr-xr-x 4 root root 4096 Jul 15 10:58 ..
-rw-r--r-- 1 root root  829 Jul 15 10:12 Cargo.toml
drwxr-xr-x 4 root root 4096 Jul 15 10:12 src
total 56
drwxr-xr-x 4 root root  4096 Jul 15 10:12 .
drwxr-xr-x 3 root root  4096 Jul 15 10:12 ..
-rw-r--r-- 1 root root 13559 Jul 15 10:12 benchmark.rs
-rw-r--r-- 1 root root  2780 Jul 15 10:12 cli.rs
drwxr-xr-x 2 root root  4096 Jul 15 10:12 comm
-rw-r--r-- 1 root root  3120 Jul 15 10:12 custom.rs
-rw-r--r-- 1 root root  1223 Jul 15 10:12 lib.rs
drwxr-xr-x 4 root root  4096 Jul 15 10:12 measure
-rw-r--r-- 1 root root   420 Jul 15 10:12 process.rs
-rw-r--r-- 1 root root   574 Jul 15 10:12 profile.rs
-rw-r--r-- 1 root root   348 Jul 15 10:12 utils.rs
benchlib = { path = "../../benchlib" }
error: failed to get `benchlib-macros` as a dependency of package `benchlib v0.1.0 (/home/y30075072/build/rust-bench/scripts/output/rust-bench-collector-20260715/benchlib)`
    ... which satisfies path dependency `benchlib` (locked to 0.1.0) of package `wasmtime-bench v0.1.0 (/home/y30075072/build/rust-bench/scripts/output/rust-bench-collector-20260715/runtime-benchmarks/wasmtime)`

Caused by:
  failed to load source for dependency `benchlib-macros`

Caused by:
  unable to update /home/y30075072/build/rust-bench/scripts/output/rust-bench-collector-20260715/benchlib-macros

Caused by:
  failed to read `/home/y30075072/build/rust-bench/scripts/output/rust-bench-collector-20260715/benchlib-macros/Cargo.toml`

Caused by:
  No such file or directory (os error 2)
-rw-r--r-- 1 root root 11246 Jul 15 10:12 runtime-benchmarks/wasmtime/Cargo.lock
ls: cannot access 'benchlib/Cargo.lock': No such file or directory
likedislike
QLiangong
QLiangong成员
7月15日 评论:

基于 volo-thrift 的 Ping-Pong RPC 端到端性能

likedislike
QLiangong
QLiangong成员
7月15日 评论:

基于 auron 的 TPC-DS 向量化查询引擎端到端性能基准测试

likedislike