From b16f92abd58a09ce40ad40e3f93cc73a14eae3c0 Mon Sep 17 00:00:00 2001 From: hdegroote <75906619+HDegroote@users.noreply.github.com> Date: Mon, 23 Mar 2026 17:08:23 +0100 Subject: [PATCH 1/2] Add hyperbee2 benchmark --- bench/simple-big.mjs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/bench/simple-big.mjs b/bench/simple-big.mjs index 8313b17..1f28bd4 100644 --- a/bench/simple-big.mjs +++ b/bench/simple-big.mjs @@ -1,7 +1,13 @@ import HyperDB from '../index.js' import def from '../test/fixtures/generated/1/hyperdb/index.js' +import Corestore from 'corestore' +import Hyperbee2 from 'hyperbee2' -const db = HyperDB.rocks('./test.db', def) +const bee2 = true + +const db = bee2 + ? HyperDB.bee2(new Hyperbee2(new Corestore('bee2-store')), def) + : HyperDB.rocks('./test.db', def) console.time('boot') const oldest = await db.findOne('@db/members-by-age', { reverse: true }) From 10c3c117a9d872ff4c4a3fdfa4947c31586d1f69 Mon Sep 17 00:00:00 2001 From: hdegroote <75906619+HDegroote@users.noreply.github.com> Date: Mon, 23 Mar 2026 17:31:43 +0100 Subject: [PATCH 2/2] Illustrate bee2 bug --- bench/simple-big.mjs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bench/simple-big.mjs b/bench/simple-big.mjs index 1f28bd4..68c9c56 100644 --- a/bench/simple-big.mjs +++ b/bench/simple-big.mjs @@ -15,7 +15,7 @@ console.timeEnd('boot') let i = oldest ? oldest.age + 1 : 0 -while (i < 10_000_000) { +while (i < 300_000) { console.time('inserting') const all = [] for (let j = 0; j < 25_000; j++) { @@ -30,6 +30,8 @@ while (i < 10_000_000) { console.log('total:', i) } +console.log('queries...') + await timeQuery('10k members-by-age', '@db/members-by-age', { gt: { age: 90_000 }, limit: 10_000 }) await timeQuery('10 members-by-age', '@db/members-by-age', { limit: 10 }) await timeQuery('10k members', '@db/members', { limit: 10_000 })