@remnic/bench 9.3.745 → 9.3.747

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +17 -5
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -37701,11 +37701,23 @@ async function runCodingGraphBenchmark(config = {}) {
37701
37701
  try {
37702
37702
  const store = await GraphStore.open({ dbPath });
37703
37703
  try {
37704
- const fullIndex = await timeAsync(() => store.upsertFileBatch(storeFiles));
37705
- if (!fullIndex.result.ok) {
37706
- throw new Error(`full-index failed: ${fullIndex.result.code}`);
37704
+ const FULL_INDEX_SAMPLES = 3;
37705
+ const fullIndexSamples = [];
37706
+ for (let s = 0; s < FULL_INDEX_SAMPLES; s++) {
37707
+ const sampleStore = s === 0 ? store : await GraphStore.open({ dbPath: path38.join(dir, `bench-warm-${s}.sqlite`) });
37708
+ const fi = await timeAsync(() => sampleStore.upsertFileBatch(storeFiles));
37709
+ if (!fi.result.ok) {
37710
+ if (sampleStore !== store) await sampleStore.close();
37711
+ throw new Error(`full-index failed: ${fi.result.code}`);
37712
+ }
37713
+ fullIndexSamples.push(fi.ms);
37714
+ if (sampleStore !== store) await sampleStore.close();
37707
37715
  }
37708
- const locsPerSecond = fullIndex.ms > 0 ? repo.approximateLoc / (fullIndex.ms / 1e3) : 0;
37716
+ const fullIndexMsValue = percentile2(
37717
+ [...fullIndexSamples].sort((a, b) => a - b),
37718
+ 50
37719
+ );
37720
+ const locsPerSecond = fullIndexMsValue > 0 ? repo.approximateLoc / (fullIndexMsValue / 1e3) : 0;
37709
37721
  sampleRss();
37710
37722
  const stats = store.schemaStats();
37711
37723
  const graphNodeCount = stats.ok ? stats.stats.nodes : 0;
@@ -37814,7 +37826,7 @@ async function runCodingGraphBenchmark(config = {}) {
37814
37826
  symbolCount: repo.files.reduce((sum, f) => sum + f.symbols.length, 0),
37815
37827
  edgeCount: repo.files.reduce((sum, f) => sum + f.edges.length, 0)
37816
37828
  },
37817
- fullIndexMs: { ms: fullIndex.ms },
37829
+ fullIndexMs: { ms: fullIndexMsValue },
37818
37830
  fullIndexLocsPerSecond: Math.round(locsPerSecond),
37819
37831
  incrementalUpdate: computeMicroMetric(incrementalSamples),
37820
37832
  incrementalModifiedUpdate: computeMicroMetric(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/bench",
3
- "version": "9.3.745",
3
+ "version": "9.3.747",
4
4
  "description": "Retrieval latency ladder benchmarks + CI regression gates for @remnic/core",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -36,8 +36,8 @@
36
36
  "dependencies": {
37
37
  "hyparquet": "^1.25.7",
38
38
  "yaml": "^2.4.2",
39
- "@remnic/coding-graph": "^9.3.745",
40
- "@remnic/core": "^9.3.745"
39
+ "@remnic/coding-graph": "^9.3.747",
40
+ "@remnic/core": "^9.3.747"
41
41
  },
42
42
  "devDependencies": {
43
43
  "tsup": "^8.5.1",