From 2fd3ff0f1ef5823377b0afb1aa4b96216b3c5240 Mon Sep 17 00:00:00 2001 From: Maksym Arutyunyan Date: Wed, 14 May 2025 14:13:31 +0200 Subject: [PATCH 1/2] canbench 0.1.13 --- .github/workflows/ci.yml | 5 + Cargo.lock | 186 ++++++++---------------------------- Cargo.toml | 2 +- benchmarks/Cargo.toml | 2 +- scripts/ci_run_benchmark.sh | 28 ++---- 5 files changed, 55 insertions(+), 168 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b938c7a5..81480cbf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -117,6 +117,11 @@ jobs: name: canbench_result_${{github.job}} path: /tmp/canbench_result_${{ github.job }} + - uses: actions/upload-artifact@v4 + with: + name: canbench_results_${{github.job}}_csv + path: /tmp/canbench_results_${{ github.job }}.csv + - name: Save PR number run: | echo ${{ github.event.number }} > /tmp/pr_number diff --git a/Cargo.lock b/Cargo.lock index ff00d551..b252ac25 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -101,21 +101,21 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "canbench-rs" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e8af63a2bb70a1906ba8aa6f6990e48f14fdb028500e59062caf127fb200b9" +checksum = "061c101d2fdea74ae7b92b8593e03fb325d0158ffbac35a856190e08318f5ec1" dependencies = [ "canbench-rs-macros", "candid", - "ic-cdk 0.18.1", + "ic-cdk 0.17.2", "serde", ] [[package]] name = "canbench-rs-macros" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd4d630972468fcd844c0ce285d0f385fc925104e0f2cb38c9810c4d49259f9c" +checksum = "c8726b96a8bf207c605542bc29d597dd4f6676d16eb39da765e1a92ef76fcc7e" dependencies = [ "proc-macro2", "quote", @@ -142,7 +142,7 @@ dependencies = [ "serde", "serde_bytes", "stacker", - "thiserror 1.0.56", + "thiserror", ] [[package]] @@ -200,41 +200,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "darling" -version = "0.20.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.101", -] - -[[package]] -name = "darling_macro" -version = "0.20.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.101", -] - [[package]] name = "data-encoding" version = "2.5.0" @@ -300,12 +265,6 @@ dependencies = [ "wasi", ] -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - [[package]] name = "hex" version = "0.4.3" @@ -327,21 +286,24 @@ dependencies = [ [[package]] name = "ic-cdk" -version = "0.18.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "977726fd275cca6229763726377e5eb8d10c1b441a6c8ddb80d7411864d15b6d" +checksum = "95a7344f41493cbf591f13ae9f90181076f808a83af799815c3074b19c693d2e" dependencies = [ "candid", - "ic-cdk-macros 0.18.1", - "ic-error-types", - "ic-management-canister-types", - "ic0 0.25.0", + "ic-cdk-executor", + "ic-cdk-macros 0.17.2", + "ic0 0.23.0", "serde", "serde_bytes", - "slotmap", - "thiserror 2.0.12", ] +[[package]] +name = "ic-cdk-executor" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "903057edd3d4ff4b3fe44a64eaee1ceb73f579ba29e3ded372b63d291d7c16c2" + [[package]] name = "ic-cdk-macros" version = "0.8.4" @@ -352,43 +314,22 @@ dependencies = [ "proc-macro2", "quote", "serde", - "serde_tokenstream", + "serde_tokenstream 0.1.7", "syn 1.0.109", ] [[package]] name = "ic-cdk-macros" -version = "0.18.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "669681748d5ef717d712db2be1aba3b3bdeffb1bac87c9dd39ad22bc109e938e" +checksum = "84cbaa50fa36d3e0616114becf81faa95a099e0d60948ed6978f30f1c77399fd" dependencies = [ "candid", - "darling", "proc-macro2", "quote", - "syn 2.0.101", -] - -[[package]] -name = "ic-error-types" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be844216781d6f4a0853b5a8d63dee8d1b6ee0b9aef310d8c0cb82a6796d7072" -dependencies = [ - "serde", - "strum", - "strum_macros", -] - -[[package]] -name = "ic-management-canister-types" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98554c2d8a30c00b6bfda18062fdcef21215cad07a52d8b8b1eb3130e51bfe71" -dependencies = [ - "candid", "serde", - "serde_bytes", + "serde_tokenstream 0.2.2", + "syn 2.0.101", ] [[package]] @@ -415,9 +356,9 @@ checksum = "a54b5297861c651551676e8c43df805dad175cc33bc97dbd992edbbb85dcbcdf" [[package]] name = "ic0" -version = "0.25.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ecd5c978846f2f917a899f5d644dca9a7f01b4cf7d16b361a5746c4f1922029" +checksum = "8de254dd67bbd58073e23dc1c8553ba12fa1dc610a19de94ad2bbcd0460c067f" [[package]] name = "ic_principal" @@ -429,15 +370,9 @@ dependencies = [ "data-encoding", "serde", "sha2", - "thiserror 1.0.56", + "thiserror", ] -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - [[package]] name = "lazy_static" version = "1.4.0" @@ -707,6 +642,18 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "serde_tokenstream" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64060d864397305347a78851c51588fd283767e7e7589829e8121d65512340f1" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "syn 2.0.101", +] + [[package]] name = "sha2" version = "0.10.8" @@ -718,15 +665,6 @@ dependencies = [ "digest", ] -[[package]] -name = "slotmap" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" -dependencies = [ - "version_check", -] - [[package]] name = "stacker" version = "0.1.15" @@ -740,12 +678,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - [[package]] name = "structmeta" version = "0.2.0" @@ -769,28 +701,6 @@ dependencies = [ "syn 2.0.101", ] -[[package]] -name = "strum" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" -dependencies = [ - "strum_macros", -] - -[[package]] -name = "strum_macros" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.101", -] - [[package]] name = "syn" version = "1.0.109" @@ -844,16 +754,7 @@ version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" dependencies = [ - "thiserror-impl 1.0.56", -] - -[[package]] -name = "thiserror" -version = "2.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" -dependencies = [ - "thiserror-impl 2.0.12", + "thiserror-impl", ] [[package]] @@ -867,17 +768,6 @@ dependencies = [ "syn 2.0.101", ] -[[package]] -name = "thiserror-impl" -version = "2.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.101", -] - [[package]] name = "tiny-rng" version = "0.2.0" diff --git a/Cargo.toml b/Cargo.toml index c9b6f79b..b8d56673 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,7 @@ version = "0.6.8" [dependencies] ic_principal = { version = "0.1.1", default-features = false } # An optional dependency to benchmark parts of the code. -canbench-rs = { version = "0.1.12", optional = true } +canbench-rs = { version = "0.1.13", optional = true } [dev-dependencies] candid.workspace = true diff --git a/benchmarks/Cargo.toml b/benchmarks/Cargo.toml index dc1d980b..9b634b5d 100644 --- a/benchmarks/Cargo.toml +++ b/benchmarks/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -canbench-rs = "0.1.11" +canbench-rs = "0.1.13" candid.workspace = true ic-cdk.workspace = true ic-cdk-macros.workspace = true diff --git a/scripts/ci_run_benchmark.sh b/scripts/ci_run_benchmark.sh index ac8dbc53..51cb842f 100644 --- a/scripts/ci_run_benchmark.sh +++ b/scripts/ci_run_benchmark.sh @@ -21,12 +21,14 @@ CANBENCH_OUTPUT=/tmp/canbench_output.txt CANBENCH_RESULTS_FILE="$CANISTER_PATH/canbench_results.yml" MAIN_BRANCH_RESULTS_FILE="$MAIN_BRANCH_DIR/$CANBENCH_RESULTS_FILE" +CANBENCH_RESULTS_CSV_FILE="/tmp/canbench_results_${CANBENCH_JOB_NAME}.csv" + # Install canbench. -cargo install --version 0.1.12 canbench +cargo install --version 0.1.13 canbench # Verify that the canbench results file exists. if [ ! -f "$CANBENCH_RESULTS_FILE" ]; then - echo "$CANBENCH_RESULTS_FILE not found. Did you forget to run \`canbench --persist\`?" + echo "$CANBENCH_RESULTS_FILE not found. Did you forget to run \`canbench --persist [--csv]\`?" exit 1 fi @@ -35,12 +37,12 @@ pushd "$CANISTER_PATH" canbench --less-verbose > $CANBENCH_OUTPUT if grep -q "(regress\|(improved by \|(new)" "$CANBENCH_OUTPUT"; then UPDATED_MSG="**❌ \`$CANBENCH_RESULTS_FILE\` is not up to date** - If the performance change is expected, run \`canbench --persist\` to update the benchmark results." + If the performance change is expected, run \`canbench --persist [--csv]\` to update the benchmark results." # Results are outdated; fail the job. echo "EXIT_STATUS=1" >> "$GITHUB_ENV" else - UPDATED_MSG="**✅ \`$CANBENCH_RESULTS_FILE\` is up to date**"; + UPDATED_MSG="✅ \`$CANBENCH_RESULTS_FILE\` is up to date"; # Results are up to date; job succeeds. echo "EXIT_STATUS=0" >> "$GITHUB_ENV" @@ -61,27 +63,17 @@ if [ -f "$MAIN_BRANCH_RESULTS_FILE" ]; then # Run canbench to compare results with the main branch. pushd "$CANISTER_PATH" - canbench --less-verbose --hide-results --show-summary > "$CANBENCH_OUTPUT" + canbench --less-verbose --hide-results --show-summary --csv > "$CANBENCH_OUTPUT" + cp "./canbench_results.csv" "$CANBENCH_RESULTS_CSV_FILE" popd - # Append markers to individual benchmark results - awk ' - /\(improved / { print $0, "đŸŸĸ"; next } - /\(regressed / { print $0, "🔴"; next } - /\(new\)/ { print $0, "🟡"; next } - { print } - ' "$CANBENCH_OUTPUT" > "${CANBENCH_OUTPUT}.tmp" && mv "${CANBENCH_OUTPUT}.tmp" "$CANBENCH_OUTPUT" - - # Add a top-level summary of detected performance changes - MESSAGE="" - grep -q "(improved " "${CANBENCH_OUTPUT}" && MESSAGE+="**đŸŸĸ Performance improvements detected! 🎉**\n" - grep -q "(regressed " "${CANBENCH_OUTPUT}" && MESSAGE+="**🔴 Performance regressions detected! 😱**\n" - echo -e "${MESSAGE:-**â„šī¸ No significant performance changes detected 👍**}" >> "$COMMENT_MESSAGE_PATH" + CSV_RESULTS_FILE_MSG="đŸ“Ļ \`canbench_results_$CANBENCH_JOB_NAME.csv\` available in [artifacts](${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID})" fi # Append the update status and benchmark output to the comment. { echo "$UPDATED_MSG" + echo "$CSV_RESULTS_FILE_MSG" echo "" echo "\`\`\`" cat "$CANBENCH_OUTPUT" From 197d39a7aeb92cb41fe990cd7ff2c3469a2f31db Mon Sep 17 00:00:00 2001 From: Maksym Arutyunyan Date: Wed, 14 May 2025 14:17:55 +0200 Subject: [PATCH 2/2] --persist --csv --- canbench_results.csv | 248 +++++++++++++++++++++---------------------- canbench_results.yml | 2 +- 2 files changed, 125 insertions(+), 125 deletions(-) diff --git a/canbench_results.csv b/canbench_results.csv index dbf8034a..0b90a62d 100644 --- a/canbench_results.csv +++ b/canbench_results.csv @@ -1,125 +1,125 @@ -status,name,instructions,instructions %,heap_increase,heap_increase %,stable_memory_increase,stable_memory_increase % -,btreemap_contains_key_blob_4_1024,164495877,-0.91%,0,,0, -,btreemap_contains_key_blob_4_1024_v2,248921977,0.94%,0,,0, -,btreemap_get_blob_128_1024,876676182,0.61%,0,,0, -,btreemap_get_blob_128_1024_v2,953199881,0.08%,0,,0, -,btreemap_get_blob_16_1024,241470994,-2.18%,0,,0, -,btreemap_get_blob_16_1024_v2,320086039,-0.87%,0,,0, -,btreemap_get_blob_256_1024,1440152578,0.12%,0,,0, -,btreemap_get_blob_256_1024_v2,1524516290,0.13%,0,,0, -,btreemap_get_blob_32_1024,275141698,-1.77%,0,,0, -,btreemap_get_blob_32_1024_v2,353756221,-1.20%,0,,0, -,btreemap_get_blob_4_1024,182139496,-0.95%,0,,0, -,btreemap_get_blob_4_1024_v2,267339946,-0.40%,0,,0, -,btreemap_get_blob_512_1024,2573387979,-0.02%,0,,0, -,btreemap_get_blob_512_1024_v2,2653499228,0.02%,0,,0, -,btreemap_get_blob_512_1024_v2_mem_manager,2759852247,0.03%,0,,0, -,btreemap_get_blob_64_1024,521344804,-0.21%,0,,0, -,btreemap_get_blob_64_1024_v2,603758767,0.21%,0,,0, -,btreemap_get_blob_8_1024,212618950,-2.20%,0,,0, -,btreemap_get_blob_8_1024_v2,294121282,-1.86%,0,,0, -,btreemap_get_blob_8_u64,199845052,-0.66%,0,,0, -,btreemap_get_blob_8_u64_v2,289664167,-2.82%,0,,0, -,btreemap_get_u64_blob_8,173627473,-1.15%,0,,0, -,btreemap_get_u64_blob_8_v2,245312213,-1.86%,0,,0, -,btreemap_get_u64_u64,176661272,0.17%,0,,0, -,btreemap_get_u64_u64_v2,249218649,-2.90%,0,,0, -,btreemap_get_u64_u64_v2_mem_manager,329730573,-1.92%,0,,0, -,btreemap_insert_10mib_values,5235962440,0.00%,0,,3613,0.00% -,btreemap_insert_blob_1024_128,5098352751,-0.23%,0,,262,0.00% -,btreemap_insert_blob_1024_128_v2,5199218550,-0.04%,0,,196,0.00% -,btreemap_insert_blob_1024_16,5080607598,-0.63%,0,,241,0.00% -,btreemap_insert_blob_1024_16_v2,5187794378,-0.23%,0,,181,0.00% -,btreemap_insert_blob_1024_256,5125958119,-0.11%,0,,292,0.00% -,btreemap_insert_blob_1024_256_v2,5224501040,-0.01%,0,,219,0.00% -,btreemap_insert_blob_1024_32,5075547429,-0.40%,0,,239,0.00% -,btreemap_insert_blob_1024_32_v2,5185065640,-0.18%,0,,180,0.00% -,btreemap_insert_blob_1024_4,4977775085,-0.82%,0,,235,0.00% -,btreemap_insert_blob_1024_4_v2,5084891041,-0.25%,0,,176,0.00% -,btreemap_insert_blob_1024_512,5200292029,-0.11%,1,,348,0.00% -,btreemap_insert_blob_1024_512_v2,5299421985,-0.11%,0,,261,0.00% -,btreemap_insert_blob_1024_512_v2_mem_manager,5469551996,-0.10%,0,,256,0.00% -,btreemap_insert_blob_1024_64,5133691382,-0.31%,0,,250,0.00% -,btreemap_insert_blob_1024_64_v2,5242140512,-0.12%,0,,188,0.00% -,btreemap_insert_blob_1024_8,5065686056,-0.38%,0,,237,0.00% -,btreemap_insert_blob_1024_8_v2,5174504738,-0.24%,0,,178,0.00% -,btreemap_insert_blob_128_1024,1276472811,0.29%,0,,260,0.00% -,btreemap_insert_blob_128_1024_v2,1378788105,0.43%,0,,195,0.00% -,btreemap_insert_blob_16_1024,634307113,-0.48%,0,,215,0.00% -,btreemap_insert_blob_16_1024_v2,733723555,0.24%,0,,161,0.00% -,btreemap_insert_blob_256_1024,1860540926,0.06%,0,,292,0.00% -,btreemap_insert_blob_256_1024_v2,1967548428,0.52%,0,,219,0.00% -,btreemap_insert_blob_32_1024,670121076,-0.34%,0,,230,0.00% -,btreemap_insert_blob_32_1024_v2,773022814,0.43%,0,,173,0.00% -,btreemap_insert_blob_4_1024,494994994,-0.38%,0,,123,0.00% -,btreemap_insert_blob_4_1024_v2,592951465,-0.08%,0,,92,0.00% -,btreemap_insert_blob_512_1024,3002862489,-0.25%,0,,351,0.00% -,btreemap_insert_blob_512_1024_v2,3105965075,0.06%,0,,263,0.00% -,btreemap_insert_blob_64_1024,919414593,-0.01%,0,,245,0.00% -,btreemap_insert_blob_64_1024_v2,1020998986,0.55%,0,,183,0.00% -,btreemap_insert_blob_8_1024,605636927,-0.29%,0,,183,0.00% -,btreemap_insert_blob_8_1024_v2,708696031,-0.05%,0,,138,0.00% -,btreemap_insert_blob_8_u64,330055088,0.06%,0,,6,0.00% -,btreemap_insert_blob_8_u64_v2,440988930,0.07%,0,,4,0.00% -,btreemap_insert_u64_blob_8,339864719,0.12%,0,,7,0.00% -,btreemap_insert_u64_blob_8_v2,422835585,0.69%,0,,5,0.00% -,btreemap_insert_u64_u64,345025209,0.01%,0,,7,0.00% -,btreemap_insert_u64_u64_v2,431645530,0.73%,0,,6,0.00% -,btreemap_insert_u64_u64_v2_mem_manager,560976863,0.50%,0,,0, -,btreemap_iter_10mib_values,11407368,-0.00%,0,,0, -,btreemap_iter_count_10mib_values,491365,2.95%,0,,0, -,btreemap_iter_count_small_values,9443266,0.01%,0,,0, -,btreemap_iter_rev_10mib_values,11404353,-0.00%,0,,0, -,btreemap_iter_rev_small_values,14975879,0.00%,0,,0, -,btreemap_iter_small_values,15000850,0.15%,0,,0, -,btreemap_keys_10mib_values,464540,-0.00%,0,,0, -,btreemap_keys_rev_10mib_values,464165,-0.01%,0,,0, -,btreemap_keys_rev_small_values,9654062,0.00%,0,,0, -,btreemap_keys_small_values,9528327,0.23%,0,,0, -,btreemap_read_every_third_value_from_range,84833060,0.78%,0,,0, -,btreemap_read_keys_from_range,84873064,0.78%,0,,0, -,btreemap_remove_blob_128_1024,1575050534,0.08%,0,,0, -,btreemap_remove_blob_128_1024_v2,1721504123,0.28%,0,,0, -,btreemap_remove_blob_16_1024,755252791,-0.27%,0,,0, -,btreemap_remove_blob_16_1024_v2,895690307,0.06%,0,,0, -,btreemap_remove_blob_256_1024,2279810995,0.07%,0,,0, -,btreemap_remove_blob_256_1024_v2,2427184450,0.42%,0,,0, -,btreemap_remove_blob_32_1024,825632231,-0.14%,0,,0, -,btreemap_remove_blob_32_1024_v2,965884147,0.00%,0,,0, -,btreemap_remove_blob_4_1024,485805538,-0.03%,0,,0, -,btreemap_remove_blob_4_1024_v2,600161724,0.10%,0,,0, -,btreemap_remove_blob_512_1024,3738145419,-0.27%,0,,0, -,btreemap_remove_blob_512_1024_v2,3883681704,0.16%,0,,0, -,btreemap_remove_blob_64_1024,1139970828,-0.01%,0,,0, -,btreemap_remove_blob_64_1024_v2,1283145072,0.25%,0,,0, -,btreemap_remove_blob_8_1024,642836148,-0.19%,0,,0, -,btreemap_remove_blob_8_1024_v2,775037862,-0.13%,0,,0, -,btreemap_remove_blob_8_u64,433944769,-0.08%,0,,0, -,btreemap_remove_blob_8_u64_v2,579958230,-0.57%,0,,0, -,btreemap_remove_u64_blob_8,485913516,0.21%,0,,0, -,btreemap_remove_u64_blob_8_v2,597538858,-0.46%,0,,0, -,btreemap_remove_u64_u64,499266505,0.24%,0,,0, -,btreemap_remove_u64_u64_v2,619109964,-0.59%,0,,0, -,btreemap_values_10mib_values,11406848,-0.00%,0,,0, -,btreemap_values_rev_10mib_values,11403833,-0.00%,0,,0, -,btreemap_values_rev_small_values,14949875,0.00%,0,,0, -,btreemap_values_small_values,14974846,0.15%,0,,0, -,memory_manager_baseline,1176577076,0.00%,0,,8000,0.00% +status,name,instructions,instructions change %,heap_increase,heap_increase change %,stable_memory_increase,stable_memory_increase change % +,btreemap_contains_key_blob_4_1024,164495877,0.00%,0,0.00%,0,0.00% +,btreemap_contains_key_blob_4_1024_v2,248921977,0.00%,0,0.00%,0,0.00% +,btreemap_get_blob_128_1024,876676182,0.00%,0,0.00%,0,0.00% +,btreemap_get_blob_128_1024_v2,953199881,0.00%,0,0.00%,0,0.00% +,btreemap_get_blob_16_1024,241470994,0.00%,0,0.00%,0,0.00% +,btreemap_get_blob_16_1024_v2,320086039,0.00%,0,0.00%,0,0.00% +,btreemap_get_blob_256_1024,1440152578,0.00%,0,0.00%,0,0.00% +,btreemap_get_blob_256_1024_v2,1524516290,0.00%,0,0.00%,0,0.00% +,btreemap_get_blob_32_1024,275141698,0.00%,0,0.00%,0,0.00% +,btreemap_get_blob_32_1024_v2,353756221,0.00%,0,0.00%,0,0.00% +,btreemap_get_blob_4_1024,182139496,0.00%,0,0.00%,0,0.00% +,btreemap_get_blob_4_1024_v2,267339946,0.00%,0,0.00%,0,0.00% +,btreemap_get_blob_512_1024,2573387979,0.00%,0,0.00%,0,0.00% +,btreemap_get_blob_512_1024_v2,2653499228,0.00%,0,0.00%,0,0.00% +,btreemap_get_blob_512_1024_v2_mem_manager,2759852247,0.00%,0,0.00%,0,0.00% +,btreemap_get_blob_64_1024,521344804,0.00%,0,0.00%,0,0.00% +,btreemap_get_blob_64_1024_v2,603758767,0.00%,0,0.00%,0,0.00% +,btreemap_get_blob_8_1024,212618950,0.00%,0,0.00%,0,0.00% +,btreemap_get_blob_8_1024_v2,294121282,0.00%,0,0.00%,0,0.00% +,btreemap_get_blob_8_u64,199845052,0.00%,0,0.00%,0,0.00% +,btreemap_get_blob_8_u64_v2,289664167,0.00%,0,0.00%,0,0.00% +,btreemap_get_u64_blob_8,173627473,0.00%,0,0.00%,0,0.00% +,btreemap_get_u64_blob_8_v2,245312213,0.00%,0,0.00%,0,0.00% +,btreemap_get_u64_u64,176661272,0.00%,0,0.00%,0,0.00% +,btreemap_get_u64_u64_v2,249218649,0.00%,0,0.00%,0,0.00% +,btreemap_get_u64_u64_v2_mem_manager,329730573,0.00%,0,0.00%,0,0.00% +,btreemap_insert_10mib_values,5235962440,0.00%,0,0.00%,3613,0.00% +,btreemap_insert_blob_1024_128,5098352751,0.00%,0,0.00%,262,0.00% +,btreemap_insert_blob_1024_128_v2,5199218550,0.00%,0,0.00%,196,0.00% +,btreemap_insert_blob_1024_16,5080607598,0.00%,0,0.00%,241,0.00% +,btreemap_insert_blob_1024_16_v2,5187794378,0.00%,0,0.00%,181,0.00% +,btreemap_insert_blob_1024_256,5125958119,0.00%,0,0.00%,292,0.00% +,btreemap_insert_blob_1024_256_v2,5224501040,0.00%,0,0.00%,219,0.00% +,btreemap_insert_blob_1024_32,5075547429,0.00%,0,0.00%,239,0.00% +,btreemap_insert_blob_1024_32_v2,5185065640,0.00%,0,0.00%,180,0.00% +,btreemap_insert_blob_1024_4,4977775085,0.00%,0,0.00%,235,0.00% +,btreemap_insert_blob_1024_4_v2,5084891041,0.00%,0,0.00%,176,0.00% +,btreemap_insert_blob_1024_512,5200292029,0.00%,1,0.00%,348,0.00% +,btreemap_insert_blob_1024_512_v2,5299421985,0.00%,0,0.00%,261,0.00% +,btreemap_insert_blob_1024_512_v2_mem_manager,5469551996,0.00%,0,0.00%,256,0.00% +,btreemap_insert_blob_1024_64,5133691382,0.00%,0,0.00%,250,0.00% +,btreemap_insert_blob_1024_64_v2,5242140512,0.00%,0,0.00%,188,0.00% +,btreemap_insert_blob_1024_8,5065686056,0.00%,0,0.00%,237,0.00% +,btreemap_insert_blob_1024_8_v2,5174504738,0.00%,0,0.00%,178,0.00% +,btreemap_insert_blob_128_1024,1276472811,0.00%,0,0.00%,260,0.00% +,btreemap_insert_blob_128_1024_v2,1378788105,0.00%,0,0.00%,195,0.00% +,btreemap_insert_blob_16_1024,634307113,0.00%,0,0.00%,215,0.00% +,btreemap_insert_blob_16_1024_v2,733723555,0.00%,0,0.00%,161,0.00% +,btreemap_insert_blob_256_1024,1860540926,0.00%,0,0.00%,292,0.00% +,btreemap_insert_blob_256_1024_v2,1967548428,0.00%,0,0.00%,219,0.00% +,btreemap_insert_blob_32_1024,670121076,0.00%,0,0.00%,230,0.00% +,btreemap_insert_blob_32_1024_v2,773022814,0.00%,0,0.00%,173,0.00% +,btreemap_insert_blob_4_1024,494994994,0.00%,0,0.00%,123,0.00% +,btreemap_insert_blob_4_1024_v2,592951465,0.00%,0,0.00%,92,0.00% +,btreemap_insert_blob_512_1024,3002862489,0.00%,0,0.00%,351,0.00% +,btreemap_insert_blob_512_1024_v2,3105965075,0.00%,0,0.00%,263,0.00% +,btreemap_insert_blob_64_1024,919414593,0.00%,0,0.00%,245,0.00% +,btreemap_insert_blob_64_1024_v2,1020998986,0.00%,0,0.00%,183,0.00% +,btreemap_insert_blob_8_1024,605636927,0.00%,0,0.00%,183,0.00% +,btreemap_insert_blob_8_1024_v2,708696031,0.00%,0,0.00%,138,0.00% +,btreemap_insert_blob_8_u64,330055088,0.00%,0,0.00%,6,0.00% +,btreemap_insert_blob_8_u64_v2,440988930,0.00%,0,0.00%,4,0.00% +,btreemap_insert_u64_blob_8,339864719,0.00%,0,0.00%,7,0.00% +,btreemap_insert_u64_blob_8_v2,422835585,0.00%,0,0.00%,5,0.00% +,btreemap_insert_u64_u64,345025209,0.00%,0,0.00%,7,0.00% +,btreemap_insert_u64_u64_v2,431645530,0.00%,0,0.00%,6,0.00% +,btreemap_insert_u64_u64_v2_mem_manager,560976863,0.00%,0,0.00%,0,0.00% +,btreemap_iter_10mib_values,11407368,0.00%,0,0.00%,0,0.00% +,btreemap_iter_count_10mib_values,491365,0.00%,0,0.00%,0,0.00% +,btreemap_iter_count_small_values,9443266,0.00%,0,0.00%,0,0.00% +,btreemap_iter_rev_10mib_values,11404353,0.00%,0,0.00%,0,0.00% +,btreemap_iter_rev_small_values,14975879,0.00%,0,0.00%,0,0.00% +,btreemap_iter_small_values,15000850,0.00%,0,0.00%,0,0.00% +,btreemap_keys_10mib_values,464540,0.00%,0,0.00%,0,0.00% +,btreemap_keys_rev_10mib_values,464165,0.00%,0,0.00%,0,0.00% +,btreemap_keys_rev_small_values,9654062,0.00%,0,0.00%,0,0.00% +,btreemap_keys_small_values,9528327,0.00%,0,0.00%,0,0.00% +,btreemap_read_every_third_value_from_range,84833060,0.00%,0,0.00%,0,0.00% +,btreemap_read_keys_from_range,84873064,0.00%,0,0.00%,0,0.00% +,btreemap_remove_blob_128_1024,1575050534,0.00%,0,0.00%,0,0.00% +,btreemap_remove_blob_128_1024_v2,1721504123,0.00%,0,0.00%,0,0.00% +,btreemap_remove_blob_16_1024,755252791,0.00%,0,0.00%,0,0.00% +,btreemap_remove_blob_16_1024_v2,895690307,0.00%,0,0.00%,0,0.00% +,btreemap_remove_blob_256_1024,2279810995,0.00%,0,0.00%,0,0.00% +,btreemap_remove_blob_256_1024_v2,2427184450,0.00%,0,0.00%,0,0.00% +,btreemap_remove_blob_32_1024,825632231,0.00%,0,0.00%,0,0.00% +,btreemap_remove_blob_32_1024_v2,965884147,0.00%,0,0.00%,0,0.00% +,btreemap_remove_blob_4_1024,485805538,0.00%,0,0.00%,0,0.00% +,btreemap_remove_blob_4_1024_v2,600161724,0.00%,0,0.00%,0,0.00% +,btreemap_remove_blob_512_1024,3738145419,0.00%,0,0.00%,0,0.00% +,btreemap_remove_blob_512_1024_v2,3883681704,0.00%,0,0.00%,0,0.00% +,btreemap_remove_blob_64_1024,1139970828,0.00%,0,0.00%,0,0.00% +,btreemap_remove_blob_64_1024_v2,1283145072,0.00%,0,0.00%,0,0.00% +,btreemap_remove_blob_8_1024,642836148,0.00%,0,0.00%,0,0.00% +,btreemap_remove_blob_8_1024_v2,775037862,0.00%,0,0.00%,0,0.00% +,btreemap_remove_blob_8_u64,433944769,0.00%,0,0.00%,0,0.00% +,btreemap_remove_blob_8_u64_v2,579958230,0.00%,0,0.00%,0,0.00% +,btreemap_remove_u64_blob_8,485913516,0.00%,0,0.00%,0,0.00% +,btreemap_remove_u64_blob_8_v2,597538858,0.00%,0,0.00%,0,0.00% +,btreemap_remove_u64_u64,499266505,0.00%,0,0.00%,0,0.00% +,btreemap_remove_u64_u64_v2,619109964,0.00%,0,0.00%,0,0.00% +,btreemap_values_10mib_values,11406848,0.00%,0,0.00%,0,0.00% +,btreemap_values_rev_10mib_values,11403833,0.00%,0,0.00%,0,0.00% +,btreemap_values_rev_small_values,14949875,0.00%,0,0.00%,0,0.00% +,btreemap_values_small_values,14974846,0.00%,0,0.00%,0,0.00% +,memory_manager_baseline,1176577076,0.00%,0,0.00%,8000,0.00% ,memory_manager_grow,346537961,0.00%,2,0.00%,32000,0.00% -,memory_manager_overhead,1181962837,0.00%,0,,8320,0.00% -,vec_get_blob_128,19246658,-0.31%,0,,0, -,vec_get_blob_16,6345942,-0.88%,0,,0, -,vec_get_blob_32,7063501,-0.82%,0,,0, -,vec_get_blob_4,4804323,-0.93%,0,,0, -,vec_get_blob_4_mem_manager,7171673,-0.63%,0,,0, -,vec_get_blob_64,11310940,-0.52%,0,,0, -,vec_get_blob_64_mem_manager,13651088,-0.43%,0,,0, -,vec_get_blob_8,5620865,-0.93%,0,,0, -,vec_get_u64,5270302,-1.13%,0,,0, -,vec_insert_blob_128,4131421,0.00%,0,,19,0.00% -,vec_insert_blob_16,3296224,0.00%,0,,2,0.00% -,vec_insert_blob_32,3415464,0.00%,0,,5,0.00% -,vec_insert_blob_4,3207465,0.00%,0,,0, -,vec_insert_blob_64,3655801,0.00%,0,,9,0.00% -,vec_insert_blob_8,3236886,0.00%,0,,1,0.00% -,vec_insert_u64,5859516,-1.01%,0,,1,0.00% +,memory_manager_overhead,1181962837,0.00%,0,0.00%,8320,0.00% +,vec_get_blob_128,19246658,0.00%,0,0.00%,0,0.00% +,vec_get_blob_16,6345942,0.00%,0,0.00%,0,0.00% +,vec_get_blob_32,7063501,0.00%,0,0.00%,0,0.00% +,vec_get_blob_4,4804323,0.00%,0,0.00%,0,0.00% +,vec_get_blob_4_mem_manager,7171673,0.00%,0,0.00%,0,0.00% +,vec_get_blob_64,11310940,0.00%,0,0.00%,0,0.00% +,vec_get_blob_64_mem_manager,13651088,0.00%,0,0.00%,0,0.00% +,vec_get_blob_8,5620865,0.00%,0,0.00%,0,0.00% +,vec_get_u64,5270302,0.00%,0,0.00%,0,0.00% +,vec_insert_blob_128,4131421,0.00%,0,0.00%,19,0.00% +,vec_insert_blob_16,3296224,0.00%,0,0.00%,2,0.00% +,vec_insert_blob_32,3415464,0.00%,0,0.00%,5,0.00% +,vec_insert_blob_4,3207465,0.00%,0,0.00%,0,0.00% +,vec_insert_blob_64,3655801,0.00%,0,0.00%,9,0.00% +,vec_insert_blob_8,3236886,0.00%,0,0.00%,1,0.00% +,vec_insert_u64,5859516,0.00%,0,0.00%,1,0.00% diff --git a/canbench_results.yml b/canbench_results.yml index 855a6a71..85a64240 100644 --- a/canbench_results.yml +++ b/canbench_results.yml @@ -743,4 +743,4 @@ benches: heap_increase: 0 stable_memory_increase: 1 scopes: {} -version: 0.1.12 +version: 0.1.13