Skip to content

perf: optimize pop_* and refactor getting min/max keys of btreemap #1954

perf: optimize pop_* and refactor getting min/max keys of btreemap

perf: optimize pop_* and refactor getting min/max keys of btreemap #1954

Triggered via pull request March 30, 2026 09:52
Status Success
Total duration 11m 13s
Artifacts 19

ci.yml

on: pull_request
Matrix: benchmark
checks-pass
3s
checks-pass
Fit to window
Zoom out
Zoom in

Annotations

9 warnings
upload-pr-number
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/upload-artifact@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
examples
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
build
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
benchmark (vec)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/upload-artifact@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
benchmark (memory-manager)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/upload-artifact@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
benchmark (btreeset)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/upload-artifact@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
benchmark (nns)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/upload-artifact@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
benchmark (io_chunks)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/upload-artifact@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
benchmark (btreemap)
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/upload-artifact@v5. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/

Artifacts

Produced during runtime
Name Size Digest
canbench_result_btreemap Expired
1011 Bytes
sha256:52ae8a3c38ab71c44c07e05bccc11c24c807d24b51cadc9cd72092547cbefc38
canbench_result_btreeset Expired
591 Bytes
sha256:2c338f1771c9301bfc6c31dd4bfad8616550d69bce70cb5dcaf1588f062afdd5
canbench_result_io_chunks Expired
597 Bytes
sha256:59bdaf462e20889bb7ebc266f6aed4e194459170e0e150088d182faf7c40ddf7
canbench_result_memory-manager Expired
607 Bytes
sha256:6d77079459637373250c8617cce0cc6b6132021264b255331b7de068e3f48bea
canbench_result_nns Expired
623 Bytes
sha256:53cdb03d0d5658e0820091e0774886edf5527f8d91c05551fcb9a3f93c12703f
canbench_result_vec Expired
580 Bytes
sha256:56c9e10a83712bfa024fdcaf1c55bef233e4b0898f948d2de22f0dd88b41614f
canbench_results_btreemap_csv Expired
4.18 KB
sha256:efda5fa9df8374487a5b6b100e59fbb4625c077e5264b07ffaee6f5a2bcc4a72
canbench_results_btreeset_csv Expired
1.24 KB
sha256:61b3439393a621c9091c7a34c64439e49263f225c11b0a2ecdc1d790c234bc7f
canbench_results_io_chunks_csv Expired
517 Bytes
sha256:90f6dbc7b0bdec6fe613c9e491677334583220b5428cbe64bf771086cfe6703d
canbench_results_memory-manager_csv Expired
363 Bytes
sha256:22bae06b62255fceb843c6424960c18b3e0f868bf56dc78618fada0d07f46e67
canbench_results_nns_csv Expired
538 Bytes
sha256:b93834e607ce36e728ccb88daff06b59251f26b4d49b6b5bbf26f7a3bf1b6649
canbench_results_persisted_btreemap_yml Expired
3.58 KB
sha256:cd781ee927387f50fb1d8927445b0ef908aa83220da0d61754f5bce7b83fbbd8
canbench_results_persisted_btreeset_yml Expired
1.31 KB
sha256:a98802377c545a86f83e677d36c673d80e6b9061ee2cd3ec771551639d717de5
canbench_results_persisted_io_chunks_yml Expired
544 Bytes
sha256:35de6c3ea9b799f20ddefc21718e615c04cf51eedbb0315a0f901dd6a1d77702
canbench_results_persisted_memory-manager_yml Expired
377 Bytes
sha256:e30f1f19fa37a655888db403d0df9e73ba7c6691b70ad15711ceee21bc31f12c
canbench_results_persisted_nns_yml Expired
514 Bytes
sha256:69eb4943d056f488e4a31a6cdfe536321df6a4b709a27b6ba7ff616f49de9dc7
canbench_results_persisted_vec_yml Expired
477 Bytes
sha256:2ad24e760c02c99861a6295844318db2e8ce05f1ffb2a075343d2c5200304481
canbench_results_vec_csv Expired
454 Bytes
sha256:aef908d29c2b5fcc9c26766675a687678aa03fc5eb1558547310606e97c337af
pr_number Expired
138 Bytes
sha256:192c3e9a4103b07ddc0472ad203970b22fca730adb1bc3a7df850c66c6b2c2a6