Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions rs/execution_environment/benches/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
Execution Benchmarks
====================

Quick Start
-----------

1. To run all benchmarks and compare them to the committed baseline:

```sh
./rs/execution_environment/benches/run-all-benchmarks.sh | tee summary.txt
```

The summary will be generated in the `summary.txt` file.

2. To update the baseline:

```sh
cp *.min rs/execution_environment/benches/baseline
git add -m "Update benches baseline" rs/execution_environment/benches/baseline/*
```

Adding a New Benchmark
----------------------

1. Create a new benchmark and test it with `bazel run ...`.

2. To integrate the new benchmark into the CI pipeline:

```Starlark
rust_ic_bench(
name = "my_new_bench",
with_test = True,
[...]
)
```

Note, a single benchmark iteration should run in a reasonable amount of time:

```sh
bazel run //rs/execution_environment:my_new_bench -- --test
```

3. To include the new benchmark in the comparison:

Edit script: `rs/execution_environment/benches/run-all-benchmarks.sh`
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
test compilation/simple ... bench: 856325 ns/iter (+/- 25738)
test compilation/empty ... bench: 630420 ns/iter (+/- 41102)
test compilation/many_adds ... bench: 227841128 ns/iter (+/- 8410338)
test compilation/many_funcs ... bench: 647063352 ns/iter (+/- 21812709)
test compilation/real_world_wasm ... bench: 763950795 ns/iter (+/- 14152869)
test deserialization/simple ... bench: 38591 ns/iter (+/- 2403)
test deserialization/empty ... bench: 36263 ns/iter (+/- 2421)
test deserialization/many_adds ... bench: 367652 ns/iter (+/- 18746)
test deserialization/many_funcs ... bench: 9611403 ns/iter (+/- 132725)
test deserialization/real_world_wasm ... bench: 9634751 ns/iter (+/- 116462)
test validation-instrumentation/simple ... bench: 44939 ns/iter (+/- 199)
test validation-instrumentation/empty ... bench: 12826 ns/iter (+/- 20)
test validation-instrumentation/many_adds ... bench: 17189632 ns/iter (+/- 118273)
test validation-instrumentation/many_funcs ... bench: 130757108 ns/iter (+/- 2148530)
test validation-instrumentation/real_world_wasm ... bench: 249637146 ns/iter (+/- 1794580)
test compilation/simple ... bench: 849692 ns/iter (+/- 57014)
test compilation/empty ... bench: 641069 ns/iter (+/- 21818)
test compilation/many_adds ... bench: 220318265 ns/iter (+/- 4221865)
test compilation/many_funcs ... bench: 629683017 ns/iter (+/- 22407151)
test compilation/real_world_wasm ... bench: 757705975 ns/iter (+/- 14087918)
test deserialization/simple ... bench: 37281 ns/iter (+/- 305312)
test deserialization/empty ... bench: 35702 ns/iter (+/- 3154)
test deserialization/many_adds ... bench: 271211 ns/iter (+/- 1913)
test deserialization/many_funcs ... bench: 9400492 ns/iter (+/- 279146)
test deserialization/real_world_wasm ... bench: 9186401 ns/iter (+/- 255289)
test validation-instrumentation/simple ... bench: 46629 ns/iter (+/- 114)
test validation-instrumentation/empty ... bench: 13115 ns/iter (+/- 25)
test validation-instrumentation/many_adds ... bench: 16945674 ns/iter (+/- 460377)
test validation-instrumentation/many_funcs ... bench: 113978746 ns/iter (+/- 16351270)
test validation-instrumentation/real_world_wasm ... bench: 233433891 ns/iter (+/- 5754008)
192 changes: 96 additions & 96 deletions rs/execution_environment/benches/baseline/EMBEDDERS_HEAP.min

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
test update/direct_u64_sparse_write ... bench: 1056031784 ns/iter (+/- 59194034)
test update/vec_u64_sparse_write ... bench: 543055284 ns/iter (+/- 15632091)
test query/direct_u64_single_read ... bench: 4901186 ns/iter (+/- 458874)
test query/direct_u64_sparse_read ... bench: 22734588 ns/iter (+/- 2557722)
test update/direct_u64_single_write ... bench: 7490523 ns/iter (+/- 2898665)
test query/direct_20mb_read ... bench: 22413500 ns/iter (+/- 1673616)
test update/direct_2mb_write ... bench: 7928882 ns/iter (+/- 1532545)
test query/btree_u64_single_read ... bench: 8581880 ns/iter (+/- 2920676)
test query/btree_u64_sparse_read ... bench: 10890444 ns/iter (+/- 1936312)
test update/btree_u64_single_write ... bench: 11687816 ns/iter (+/- 3294248)
test update/btree_u64_sparse_write ... bench: 32527143 ns/iter (+/- 2001941)
test query/vec_u64_single_read ... bench: 9080461 ns/iter (+/- 2786004)
test query/vec_u64_sparse_read ... bench: 20971039 ns/iter (+/- 1877064)
test update/vec_u64_single_write ... bench: 9332235 ns/iter (+/- 2603556)
test update/direct_u64_sparse_write ... bench: 1031168901 ns/iter (+/- 44836363)
test update/vec_u64_sparse_write ... bench: 562801760 ns/iter (+/- 23504192)
test query/direct_u64_single_read ... bench: 4928307 ns/iter (+/- 290381)
test query/direct_u64_sparse_read ... bench: 30290410 ns/iter (+/- 3159078)
test update/direct_u64_single_write ... bench: 7447855 ns/iter (+/- 11846827)
test query/direct_20mb_read ... bench: 21826627 ns/iter (+/- 1375374)
test update/direct_2mb_write ... bench: 7851584 ns/iter (+/- 1959605)
test query/btree_u64_single_read ... bench: 8965775 ns/iter (+/- 1620654)
test query/btree_u64_sparse_read ... bench: 14370894 ns/iter (+/- 2763519)
test update/btree_u64_single_write ... bench: 12174801 ns/iter (+/- 4301281)
test update/btree_u64_sparse_write ... bench: 33074696 ns/iter (+/- 2139807)
test query/vec_u64_single_read ... bench: 9200732 ns/iter (+/- 2727249)
test query/vec_u64_sparse_read ... bench: 21771622 ns/iter (+/- 1505010)
test update/vec_u64_single_write ... bench: 7981231 ns/iter (+/- 1172215)
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
test inspect/wasm32/ic0_msg_method_name_size() ... bench: 65877208 ns/iter (+/- 1218359)
test inspect/wasm64/ic0_msg_method_name_size() ... bench: 66841896 ns/iter (+/- 1971593)
test inspect/wasm32/ic0_msg_method_name_copy()/1B ... bench: 138709734 ns/iter (+/- 275624)
test inspect/wasm64/ic0_msg_method_name_copy()/1B ... bench: 131839098 ns/iter (+/- 855364)
test inspect/wasm32/ic0_msg_method_name_copy()/20B ... bench: 138374162 ns/iter (+/- 941122)
test inspect/wasm64/ic0_msg_method_name_copy()/20B ... bench: 131297956 ns/iter (+/- 251756)
test inspect/wasm32/ic0_accept_message()* ... bench: 247139 ns/iter (+/- 16621)
test inspect/wasm64/ic0_accept_message()* ... bench: 271364 ns/iter (+/- 9733)
test inspect/wasm32/ic0_msg_method_name_size() ... bench: 65403834 ns/iter (+/- 1208776)
test inspect/wasm64/ic0_msg_method_name_size() ... bench: 69004965 ns/iter (+/- 962396)
test inspect/wasm32/ic0_msg_method_name_copy()/1B ... bench: 142959358 ns/iter (+/- 1765158)
test inspect/wasm64/ic0_msg_method_name_copy()/1B ... bench: 133312012 ns/iter (+/- 1798136)
test inspect/wasm32/ic0_msg_method_name_copy()/20B ... bench: 146818277 ns/iter (+/- 1089379)
test inspect/wasm64/ic0_msg_method_name_copy()/20B ... bench: 132834506 ns/iter (+/- 1975915)
test inspect/wasm32/ic0_accept_message()* ... bench: 230141 ns/iter (+/- 41852)
test inspect/wasm64/ic0_accept_message()* ... bench: 258602 ns/iter (+/- 8562)
12 changes: 6 additions & 6 deletions rs/execution_environment/benches/baseline/SYSTEM_API_QUERY.min
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
test query/wasm32/ic0_data_certificate_size() ... bench: 72913485 ns/iter (+/- 3834225)
test query/wasm64/ic0_data_certificate_size() ... bench: 63723135 ns/iter (+/- 1625884)
test query/wasm32/ic0_data_certificate_copy()/1B ... bench: 136711857 ns/iter (+/- 2092315)
test query/wasm64/ic0_data_certificate_copy()/1B ... bench: 132831153 ns/iter (+/- 1216644)
test query/wasm32/ic0_data_certificate_copy()/64B ... bench: 137184214 ns/iter (+/- 1243589)
test query/wasm64/ic0_data_certificate_copy()/64B ... bench: 131097070 ns/iter (+/- 2197032)
test query/wasm32/ic0_data_certificate_size() ... bench: 67485920 ns/iter (+/- 2683401)
test query/wasm64/ic0_data_certificate_size() ... bench: 71358800 ns/iter (+/- 1998623)
test query/wasm32/ic0_data_certificate_copy()/1B ... bench: 141990264 ns/iter (+/- 947245)
test query/wasm64/ic0_data_certificate_copy()/1B ... bench: 141980075 ns/iter (+/- 3390728)
test query/wasm32/ic0_data_certificate_copy()/64B ... bench: 138796719 ns/iter (+/- 2626725)
test query/wasm64/ic0_data_certificate_copy()/64B ... bench: 136977746 ns/iter (+/- 3257010)
Loading