Skip to content

chore(deps): bump the patch group across 1 directory with 3 updates#182

Merged
cb1kenobi merged 1 commit intomainfrom
dependabot/npm_and_yarn/patch-552cccd1c1
Oct 18, 2025
Merged

chore(deps): bump the patch group across 1 directory with 3 updates#182
cb1kenobi merged 1 commit intomainfrom
dependabot/npm_and_yarn/patch-552cccd1c1

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot bot commented on behalf of github Oct 16, 2025

Bumps the patch group with 2 updates in the / directory: esbuild and ast-v8-to-istanbul.

Updates esbuild from 0.25.10 to 0.25.11

Release notes

Sourced from esbuild's releases.

v0.25.11

  • Add support for with { type: 'bytes' } imports (#4292)

    The import bytes proposal has reached stage 2.7 in the TC39 process, which means that although it isn't quite recommended for implementation, it's generally approved and ready for validation. Furthermore it has already been implemented by Deno and Webpack. So with this release, esbuild will also add support for this. It behaves exactly the same as esbuild's existing binary loader. Here's an example:

    import data from './image.png' with { type: 'bytes' }
    const view = new DataView(data.buffer, 0, 24)
    const width = view.getInt32(16)
    const height = view.getInt32(20)
    console.log('size:', width + '\xD7' + height)
  • Lower CSS media query range syntax (#3748, #4293)

    With this release, esbuild will now transform CSS media query range syntax into equivalent syntax using min-/max- prefixes for older browsers. For example, the following CSS:

    @media (640px <= width <= 960px) {
      main {
        display: flex;
      }
    }

    will be transformed like this with a target such as --target=chrome100 (or more specifically with --supported:media-range=false if desired):

    @media (min-width: 640px) and (max-width: 960px) {
      main {
        display: flex;
      }
    }
Changelog

Sourced from esbuild's changelog.

0.25.11

  • Add support for with { type: 'bytes' } imports (#4292)

    The import bytes proposal has reached stage 2.7 in the TC39 process, which means that although it isn't quite recommended for implementation, it's generally approved and ready for validation. Furthermore it has already been implemented by Deno and Webpack. So with this release, esbuild will also add support for this. It behaves exactly the same as esbuild's existing binary loader. Here's an example:

    import data from './image.png' with { type: 'bytes' }
    const view = new DataView(data.buffer, 0, 24)
    const width = view.getInt32(16)
    const height = view.getInt32(20)
    console.log('size:', width + '\xD7' + height)
  • Lower CSS media query range syntax (#3748, #4293)

    With this release, esbuild will now transform CSS media query range syntax into equivalent syntax using min-/max- prefixes for older browsers. For example, the following CSS:

    @media (640px <= width <= 960px) {
      main {
        display: flex;
      }
    }

    will be transformed like this with a target such as --target=chrome100 (or more specifically with --supported:media-range=false if desired):

    @media (min-width: 640px) and (max-width: 960px) {
      main {
        display: flex;
      }
    }
Commits

Updates @esbuild/openharmony-arm64 from 0.25.10 to 0.25.11

Release notes

Sourced from @​esbuild/openharmony-arm64's releases.

v0.25.11

  • Add support for with { type: 'bytes' } imports (#4292)

    The import bytes proposal has reached stage 2.7 in the TC39 process, which means that although it isn't quite recommended for implementation, it's generally approved and ready for validation. Furthermore it has already been implemented by Deno and Webpack. So with this release, esbuild will also add support for this. It behaves exactly the same as esbuild's existing binary loader. Here's an example:

    import data from './image.png' with { type: 'bytes' }
    const view = new DataView(data.buffer, 0, 24)
    const width = view.getInt32(16)
    const height = view.getInt32(20)
    console.log('size:', width + '\xD7' + height)
  • Lower CSS media query range syntax (#3748, #4293)

    With this release, esbuild will now transform CSS media query range syntax into equivalent syntax using min-/max- prefixes for older browsers. For example, the following CSS:

    @media (640px <= width <= 960px) {
      main {
        display: flex;
      }
    }

    will be transformed like this with a target such as --target=chrome100 (or more specifically with --supported:media-range=false if desired):

    @media (min-width: 640px) and (max-width: 960px) {
      main {
        display: flex;
      }
    }
Changelog

Sourced from @​esbuild/openharmony-arm64's changelog.

0.25.11

  • Add support for with { type: 'bytes' } imports (#4292)

    The import bytes proposal has reached stage 2.7 in the TC39 process, which means that although it isn't quite recommended for implementation, it's generally approved and ready for validation. Furthermore it has already been implemented by Deno and Webpack. So with this release, esbuild will also add support for this. It behaves exactly the same as esbuild's existing binary loader. Here's an example:

    import data from './image.png' with { type: 'bytes' }
    const view = new DataView(data.buffer, 0, 24)
    const width = view.getInt32(16)
    const height = view.getInt32(20)
    console.log('size:', width + '\xD7' + height)
  • Lower CSS media query range syntax (#3748, #4293)

    With this release, esbuild will now transform CSS media query range syntax into equivalent syntax using min-/max- prefixes for older browsers. For example, the following CSS:

    @media (640px <= width <= 960px) {
      main {
        display: flex;
      }
    }

    will be transformed like this with a target such as --target=chrome100 (or more specifically with --supported:media-range=false if desired):

    @media (min-width: 640px) and (max-width: 960px) {
      main {
        display: flex;
      }
    }
Commits

Updates ast-v8-to-istanbul from 0.3.5 to 0.3.6

Release notes

Sourced from ast-v8-to-istanbul's releases.

v0.3.6

What's Changed

New Contributors

Full Changelog: AriPerkkio/ast-v8-to-istanbul@v0.3.5...v0.3.6

Commits
  • fe9afb0 0.3.6
  • 713f644 fix: support export default function (#94)
  • 39c5463 chore(deps): update all non-major npm dependencies (#92)
  • c91df9d chore(deps): update all non-major npm dependencies (#91)
  • cff2e98 chore(deps): update all non-major npm dependencies (#90)
  • 78c37a0 chore(deps): update dependency eslint-plugin-unicorn to v61 (#89)
  • 5761034 chore(deps): update all non-major npm dependencies (#88)
  • 7d4dd0b chore(deps): update all non-major npm dependencies (#86)
  • 1e820c7 chore(deps): update actions/setup-node action to v5 (#87)
  • 4102194 chore(deps): update all non-major npm dependencies (#84)
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Bumps the patch group with 2 updates in the / directory: [esbuild](https://github.com/evanw/esbuild) and [ast-v8-to-istanbul](https://github.com/AriPerkkio/ast-v8-to-istanbul).


Updates `esbuild` from 0.25.10 to 0.25.11
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](evanw/esbuild@v0.25.10...v0.25.11)

Updates `@esbuild/openharmony-arm64` from 0.25.10 to 0.25.11
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](evanw/esbuild@v0.25.10...v0.25.11)

Updates `ast-v8-to-istanbul` from 0.3.5 to 0.3.6
- [Release notes](https://github.com/AriPerkkio/ast-v8-to-istanbul/releases)
- [Commits](AriPerkkio/ast-v8-to-istanbul@v0.3.5...v0.3.6)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-version: 0.25.11
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: patch
- dependency-name: "@esbuild/openharmony-arm64"
  dependency-version: 0.25.11
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch
- dependency-name: ast-v8-to-istanbul
  dependency-version: 0.3.6
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added automated dependencies Pull requests that update a dependency file labels Oct 16, 2025
@github-actions
Copy link
Copy Markdown
Contributor

📊 Benchmark Results

encoding.bench.ts

Key encoding > ordered-binary keys - strings (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 24.78K ops/sec 40.36 35.96 579.774 1.07 12,389
🥈 rocksdb 2 4.80K ops/sec 208.339 194.721 1,618.922 0.884 2,401

Key encoding > ordered-binary keys - numbers (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 25.33K ops/sec 39.48 35.50 432.065 0.894 12,665
🥈 rocksdb 2 4.75K ops/sec 210.416 200.477 1,492.585 0.652 2,377

Key encoding > ordered-binary keys - mixed types (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 22.65K ops/sec 44.16 39.22 535.073 0.993 11,323
🥈 rocksdb 2 4.67K ops/sec 214.065 201.694 763.342 0.443 2,336

Value encoding > msgpack values - strings (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 16.10K ops/sec 62.10 55.65 571.417 1.16 8,052
🥈 rocksdb 2 4.34K ops/sec 230.526 219.124 913.546 0.443 2,169

Value encoding > msgpack values - numbers (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 25.79K ops/sec 38.77 34.82 471.397 0.919 12,896
🥈 rocksdb 2 4.73K ops/sec 211.386 193.81 3,191.852 1.33 2,366

Value encoding > msgpack values - arrays (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 9.12K ops/sec 109.63 96.73 779.037 1.48 4,561
🥈 rocksdb 2 3.52K ops/sec 284.13 268.621 873.003 0.497 1,760

Value encoding > msgpack values - small objects (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 5.70K ops/sec 175.588 156.097 1,109.684 1.83 2,848
🥈 rocksdb 2 2.60K ops/sec 384.5 360.671 1,015.485 0.730 1,301

Value encoding > msgpack values - large objects (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 641.08 ops/sec 1,559.86 1,459.771 3,095.185 1.54 321
🥈 lmdb 2 635.27 ops/sec 1,574.136 1,449.009 7,953.316 3.50 318

get-sync.bench.ts

getSync() > random keys - small key size (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 20.40K ops/sec 49.02 41.92 3,309.477 1.78 10,200
🥈 rocksdb 2 4.44K ops/sec 225.004 193.792 11,216.908 6.41 2,223

get.bench.ts

get() > rocksdb - random vs sequential keys (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 sequential 1 3.96K ops/sec 252.429 239.18 1,369.64 0.637 1,981
🥈 random 2 3.89K ops/sec 257.256 242.544 1,071.482 0.724 1,944

get() > random keys - max 1978 lmdb key size (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 3.11K ops/sec 321.805 291.419 2,305.235 2.05 1,554

get() > rocksdb - async vs sync

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 sync 1 4.32K ops/sec 231.347 212.468 3,353.82 1.76 2,162
🥈 async 2 3.61K ops/sec 276.858 263.83 1,129.753 0.568 1,806

put-sync.bench.ts

putSync() > random keys - insert - small key size (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 2.16K ops/sec 463.17 443.438 654.634 0.262 1,080
🥈 lmdb 2 4.20 ops/sec 238,360.053 222,766.206 258,559.764 2.61 10.00

putSync() > random keys - update - small key size (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 2.23K ops/sec 448.141 431.276 598.795 0.137 1,116
🥈 lmdb 2 4.12 ops/sec 242,872.95 231,446.933 265,116.207 3.58 10.00

putSync() > random keys - insert - max 1978 lmdb key size (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 1.01K ops/sec 994.037 882.821 1,221.743 0.463 504
🥈 lmdb 2 3.85 ops/sec 259,510.87 246,120.387 292,423.404 4.36 10.00

putSync() > random keys - update - max 1978 lmdb key size (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 1.02K ops/sec 977.172 910.633 1,176.73 0.501 512
🥈 lmdb 2 3.94 ops/sec 253,801.996 233,700.893 293,310.325 4.29 10.00

putSync() > sequential keys - insert (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 619.91 ops/sec 1,613.149 431.899 350,731.841 137.278 310
🥈 lmdb 2 4.15 ops/sec 240,739.561 232,937.023 258,381.338 2.79 10.00

putSync() > put 100KB value (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 51.27 ops/sec 19,502.828 17,785.78 21,278.816 2.40 26.00
🥈 lmdb 2 2.78 ops/sec 359,586.253 322,551.769 378,596.56 4.04 10.00

putSync() > put 1MB value (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 5.19 ops/sec 192,731.253 184,250.901 206,983.678 2.46 10.00
🥈 lmdb 2 1.71 ops/sec 584,927.617 556,545.391 633,389.924 3.06 10.00

putSync() > get 10MB value (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 0.38 ops/sec 2,602,091.265 2,089,044.312 3,518,795.685 12.76 10.00
🥈 lmdb 2 0.27 ops/sec 3,709,641.398 3,083,077.863 4,038,401.687 6.28 10.00

put.bench.ts

put > small dataset (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 1.93K ops/sec 518.889 489.4 1,126.711 0.403 964
🥈 lmdb 2 3.61 ops/sec 277,337.742 254,865.913 295,947.662 3.25 10.00

put > async vs sync overhead

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 sync 1 2.16K ops/sec 463.652 438.429 919.709 0.305 1,079
🥈 async 2 2.02K ops/sec 495.969 470.159 909.652 0.251 1,009

ranges.bench.ts

getRange() > small range (100 records, 50 range)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 23.86K ops/sec 41.90 36.83 587.65 1.14 11,932
🥈 rocksdb 2 2.90K ops/sec 344.454 299.369 2,078.425 2.64 1,453

getRange() > full scan vs range scan

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb range scan 1 22.33K ops/sec 44.79 38.97 631.41 1.15 11,164
🥈 lmdb full scan 2 11.50K ops/sec 86.92 79.05 1,002.848 1.42 5,753
🥉 rocksdb range scan 3 3.01K ops/sec 332.331 294.051 1,936.185 2.02 1,505
rocksdb full scan 4 1.62K ops/sec 617.464 548.622 3,053.642 2.90 810

getKeys() > keys only (100 records, 50 range)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 51.61K ops/sec 19.38 16.03 3,024.069 1.80 25,805
🥈 rocksdb 2 4.95K ops/sec 202.045 179.755 964.853 1.22 2,475

Reverse iteration > reverse range (100 records, 50 range)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 538.70K ops/sec 1.86 1.22 5,973.584 6.85 269,348
🥈 rocksdb 2 2.84K ops/sec 351.899 316.859 1,880.566 1.70 1,421

Reverse iteration > rocksdb - reverse vs forward

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 forward 1 6.71K ops/sec 149.011 134.071 1,344.448 1.31 3,356
🥈 reverse 2 2.85K ops/sec 350.968 317.753 1,500.135 1.61 1,425

Range query patterns > prefix scan performance

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 30.95K ops/sec 32.32 28.29 1,207.396 1.20 15,473
🥈 rocksdb 2 3.28K ops/sec 304.724 274.429 1,660.749 1.65 1,641

Sparse data patterns > sparse - range over gaps

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 58.53K ops/sec 17.09 14.70 1,806.461 1.51 29,265
🥈 rocksdb 2 6.02K ops/sec 166.111 150.517 1,123.77 1.14 3,011

Sparse data patterns > sparse - prefix with gaps

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 131.28K ops/sec 7.62 6.68 2,940.565 2.72 65,639
🥈 rocksdb 2 12.28K ops/sec 81.45 72.08 1,569.49 0.922 6,139

remove-sync.bench.ts

removeSync() > random keys - small key size (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 12.42K ops/sec 80.53 68.25 823.356 1.76 6,209
🥈 rocksdb 2 2.57K ops/sec 389.206 367.026 643.408 0.390 1,285

removeSync() > sequential keys - small key size (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 12.54K ops/sec 79.77 68.95 729.356 1.36 6,268
🥈 rocksdb 2 2.63K ops/sec 379.518 352.519 593.412 0.187 1,318

removeSync() > rocksdb - random vs sequential keys (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 sequential 1 2.62K ops/sec 382.189 362.414 577.195 0.215 1,309
🥈 random 2 2.55K ops/sec 392.778 361.567 502.448 0.145 1,273

removeSync() > random keys - max 1978 lmdb key size (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 9.64K ops/sec 103.738 86.49 1,655.772 2.74 4,820
🥈 rocksdb 2 1.08K ops/sec 927.689 815.113 1,239.453 0.497 539

removeSync() > random access pattern (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 11.72K ops/sec 85.29 73.59 1,273.718 1.39 5,863
🥈 rocksdb 2 2.57K ops/sec 388.779 358.95 570.585 0.150 1,287

removeSync() > non-existent keys (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 12.64K ops/sec 79.12 74.07 329.027 0.377 6,320
🥈 rocksdb 2 2.57K ops/sec 388.785 371.499 587.768 0.185 1,287

transaction-sync.bench.ts

transaction sync > optimistic > simple put operations (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 573.01 ops/sec 1,745.185 1,649.49 4,498.831 1.53 287
🥈 lmdb 2 4.18 ops/sec 239,345.884 232,442.426 254,203.048 1.91 10.00

transaction sync > optimistic > batch operations (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 2.83K ops/sec 353.648 312.594 1,965.963 0.926 1,414
🥈 lmdb 2 346.93 ops/sec 2,882.422 2,033.911 5,937.124 1.71 174

transaction sync > optimistic > read-write operations (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 344.64 ops/sec 2,901.584 2,666.275 4,857.33 1.80 173
🥈 lmdb 2 4.09 ops/sec 244,702.753 234,480.121 280,504.108 4.19 10.00

transaction sync > optimistic > concurrent non-conflicting operations (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 550.44 ops/sec 1,816.721 1,754.544 3,284.01 0.980 276
🥈 lmdb 2 4.23 ops/sec 236,645.901 228,985.474 257,354.246 3.32 10.00

transaction sync > optimistic > rollback operations (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 14.06K ops/sec 71.11 68.38 358.622 0.334 7,032
🥈 rocksdb 2 5.40K ops/sec 185.222 178.035 734.041 0.276 2,700

transaction sync > optimistic > rocksdb - large transaction vs many small

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 2.88K ops/sec 346.874 302.534 568.687 0.279 1,442
🥈 rocksdb 2 563.89 ops/sec 1,773.392 1,724.872 3,935.361 0.872 282

transaction sync > optimistic > lmdb - large transaction vs many small

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 361.32 ops/sec 2,767.617 2,166.776 5,952.875 2.05 181
🥈 lmdb 2 4.26 ops/sec 234,733.25 224,653.545 258,197.535 2.75 10.00

transaction sync > optimistic > empty transaction overhead

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 798.35K ops/sec 1.25 1.08 1,577.8 0.771 399,175
🥈 rocksdb 2 90.58K ops/sec 11.04 9.88 1,119.303 0.848 45,290

transaction sync > optimistic > transaction with only reads (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 1.53K ops/sec 653.524 597.506 4,370.718 3.10 766
🥈 rocksdb 2 258.86 ops/sec 3,863.023 3,630.758 11,234.58 3.95 130

transaction sync > pessimistic > simple put operations (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 502.74 ops/sec 1,989.095 1,881.074 5,040.686 2.21 252
🥈 lmdb 2 4.21 ops/sec 237,336.009 230,123.505 254,063.501 2.62 10.00

transaction.bench.ts

transaction > optimistic > simple put operations (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 277.00 ops/sec 3,610.108 2,872.41 5,829.077 2.19 139
🥈 lmdb 2 3.50 ops/sec 286,013.44 272,085.294 303,083.156 3.30 10.00

transaction > optimistic > batch operations (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 2.28K ops/sec 439.291 378.621 1,046.041 0.417 1,139
🥈 lmdb 2 294.85 ops/sec 3,391.565 2,266.628 6,424.417 1.94 148

transaction > optimistic > read-write operations (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 197.86 ops/sec 5,054.079 3,960.144 8,165.292 4.71 99.00
🥈 lmdb 2 3.53 ops/sec 283,367.866 266,988.522 303,110.449 2.93 10.00

transaction > optimistic > concurrent non-conflicting operations (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 952.32 ops/sec 1,050.07 931.088 3,775.263 3.43 477
🥈 lmdb 2 289.77 ops/sec 3,451.051 2,195.923 7,293.382 2.60 145

transaction > optimistic > rollback operations (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 5.02K ops/sec 199.167 187.112 820.34 0.491 2,511
🥈 lmdb 2 297.24 ops/sec 3,364.247 3,136.911 6,505.213 1.31 149

transaction > optimistic > rocksdb - large transaction vs many small

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 2.21K ops/sec 451.928 385.116 613.295 0.229 1,107
🥈 rocksdb 2 296.13 ops/sec 3,376.839 2,777.362 7,507.607 3.51 149

transaction > optimistic > lmdb - large transaction vs many small

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 310.60 ops/sec 3,219.583 2,121.304 3,858.869 1.74 156
🥈 lmdb 2 3.53 ops/sec 283,406.58 271,059.851 335,692.093 4.80 10.00

transaction > optimistic > empty transaction overhead

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 44.03K ops/sec 22.71 17.97 366.454 0.375 22,016
🥈 rocksdb 2 40.44K ops/sec 24.73 20.34 3,609.445 2.62 20,218

transaction > optimistic > transaction with only reads (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 331.15 ops/sec 3,019.768 2,569.114 22,455.333 10.55 166
🥈 rocksdb 2 148.72 ops/sec 6,724.111 5,148.071 14,200.785 5.40 75.00

transaction > pessimistic > simple put operations (100 records)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 29.36 ops/sec 34,054.988 33,298.835 35,664.26 1.04 15.00
🥈 lmdb 2 3.53 ops/sec 283,192.7 268,408.661 329,317.579 4.71 10.00

worker-get-sync.bench.ts

Worker > random keys - small key size (100 records, 1 worker)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 14.36K ops/sec 69.66 58.15 6,847.553 3.23 7,178
🥈 rocksdb 2 3.71K ops/sec 269.833 224.425 1,819.447 1.21 1,853

Worker > random keys - small key size (100 records, 2 workers)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 13.80K ops/sec 72.45 61.29 6,877.086 3.20 6,902
🥈 rocksdb 2 3.57K ops/sec 280.016 234.04 1,787.902 1.09 1,786

Worker > random keys - small key size (100 records, 10 workers)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 lmdb 1 7.04K ops/sec 141.994 116.621 10,806.075 4.72 3,522
🥈 rocksdb 2 1.69K ops/sec 591.832 495.831 4,589.805 2.31 845

worker-put-sync.bench.ts

putSync() > random keys - small key size (100 records, 1 worker)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 1.80K ops/sec 554.384 498.678 4,397.462 1.71 902
🥈 lmdb 2 3.93 ops/sec 254,379.459 243,942.772 274,747.489 2.48 10.00

putSync() > random keys - small key size (100 records, 2 workers)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 1.41K ops/sec 707.897 663.458 2,494.646 0.762 707
🥈 lmdb 2 2.03 ops/sec 491,483.554 476,833.025 523,633.638 2.13 10.00

putSync() > random keys - small key size (100 records, 10 workers)

Implementation Rank Operations/sec Mean (ms) Min (ms) Max (ms) RME (%) Samples
🥇 rocksdb 1 790.23 ops/sec 1,265.45 1,128.897 7,095.542 2.43 396
🥈 lmdb 2 1.11 ops/sec 898,621.275 842,881.656 978,173.324 3.57 10.00

Results from commit 1ecfd38

@cb1kenobi cb1kenobi merged commit dabbab1 into main Oct 18, 2025
21 checks passed
@dependabot dependabot bot deleted the dependabot/npm_and_yarn/patch-552cccd1c1 branch October 18, 2025 00:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automated dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant