aifastdb 3.10.5 → 3.10.7
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.
- package/aifastdb.node +0 -0
- package/aifastdb.win32-x64-msvc.node +0 -0
- package/dist/concurrent-document-store.d.ts +4 -0
- package/dist/concurrent-document-store.d.ts.map +1 -1
- package/dist/concurrent-document-store.js +6 -0
- package/dist/concurrent-document-store.js.map +1 -1
- package/dist/find-async-baseline.d.ts +33 -0
- package/dist/find-async-baseline.d.ts.map +1 -0
- package/dist/find-async-baseline.js +424 -0
- package/dist/find-async-baseline.js.map +1 -0
- package/dist/find-async-bench.d.ts +22 -0
- package/dist/find-async-bench.d.ts.map +1 -0
- package/dist/find-async-bench.js +322 -0
- package/dist/find-async-bench.js.map +1 -0
- package/dist/find-async-verify.d.ts +23 -0
- package/dist/find-async-verify.d.ts.map +1 -0
- package/dist/find-async-verify.js +286 -0
- package/dist/find-async-verify.js.map +1 -0
- package/dist/hnsw-insert-profile-verify.d.ts +35 -0
- package/dist/hnsw-insert-profile-verify.d.ts.map +1 -0
- package/dist/hnsw-insert-profile-verify.js +250 -0
- package/dist/hnsw-insert-profile-verify.js.map +1 -0
- package/dist/micro-batcher-benchmark.d.ts +3 -0
- package/dist/micro-batcher-benchmark.d.ts.map +1 -0
- package/dist/micro-batcher-benchmark.js +296 -0
- package/dist/micro-batcher-benchmark.js.map +1 -0
- package/dist/micro-batcher.d.ts +97 -0
- package/dist/micro-batcher.d.ts.map +1 -0
- package/dist/micro-batcher.js +77 -0
- package/dist/micro-batcher.js.map +1 -0
- package/dist/native.d.ts +71 -0
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js +6 -1
- package/dist/native.js.map +1 -1
- package/dist/phase-387-reproducibility-audit.d.ts +3 -0
- package/dist/phase-387-reproducibility-audit.d.ts.map +1 -0
- package/dist/phase-387-reproducibility-audit.js +236 -0
- package/dist/phase-387-reproducibility-audit.js.map +1 -0
- package/dist/phase-390-baseline-multiseed.d.ts +3 -0
- package/dist/phase-390-baseline-multiseed.d.ts.map +1 -0
- package/dist/phase-390-baseline-multiseed.js +241 -0
- package/dist/phase-390-baseline-multiseed.js.map +1 -0
- package/dist/phase-390-t2-mb-grid-sweep.d.ts +3 -0
- package/dist/phase-390-t2-mb-grid-sweep.d.ts.map +1 -0
- package/dist/phase-390-t2-mb-grid-sweep.js +291 -0
- package/dist/phase-390-t2-mb-grid-sweep.js.map +1 -0
- package/dist/read-profiler-verify.js +236 -1
- package/dist/read-profiler-verify.js.map +1 -1
- package/dist/remember-many-spawn-benchmark.d.ts +3 -0
- package/dist/remember-many-spawn-benchmark.d.ts.map +1 -0
- package/dist/remember-many-spawn-benchmark.js +163 -0
- package/dist/remember-many-spawn-benchmark.js.map +1 -0
- package/dist/remember-spawn-benchmark.d.ts +3 -0
- package/dist/remember-spawn-benchmark.d.ts.map +1 -0
- package/dist/remember-spawn-benchmark.js +230 -0
- package/dist/remember-spawn-benchmark.js.map +1 -0
- package/dist/remember-spawn-receipt-benchmark.d.ts +3 -0
- package/dist/remember-spawn-receipt-benchmark.d.ts.map +1 -0
- package/dist/remember-spawn-receipt-benchmark.js +266 -0
- package/dist/remember-spawn-receipt-benchmark.js.map +1 -0
- package/dist/sgv2-async-verify.d.ts +17 -0
- package/dist/sgv2-async-verify.d.ts.map +1 -0
- package/dist/sgv2-async-verify.js +217 -0
- package/dist/sgv2-async-verify.js.map +1 -0
- package/dist/social-graph-v2-read-benchmark.d.ts +11 -2
- package/dist/social-graph-v2-read-benchmark.d.ts.map +1 -1
- package/dist/social-graph-v2-read-benchmark.js +145 -3
- package/dist/social-graph-v2-read-benchmark.js.map +1 -1
- package/dist/social-graph-v2.d.ts +65 -4
- package/dist/social-graph-v2.d.ts.map +1 -1
- package/dist/social-graph-v2.js +72 -6
- package/dist/social-graph-v2.js.map +1 -1
- package/package.json +1 -1
package/aifastdb.node
ADDED
|
Binary file
|
|
Binary file
|
|
@@ -103,9 +103,11 @@ type NativeStoreInstance = {
|
|
|
103
103
|
all(options?: ConcurrentFindOptions): ConcurrentMemoryNode[];
|
|
104
104
|
delete(id: string): ConcurrentMemoryNode | null;
|
|
105
105
|
findByTag(tag: string, options?: ConcurrentFindOptions): ConcurrentMemoryNode[];
|
|
106
|
+
findByTagAsync(tag: string, options?: ConcurrentFindOptions): Promise<ConcurrentMemoryNode[]>;
|
|
106
107
|
findByType(docType: string, options?: ConcurrentFindOptions): ConcurrentMemoryNode[];
|
|
107
108
|
findByTimeRange(start: number, end: number, options?: ConcurrentFindOptions): ConcurrentMemoryNode[];
|
|
108
109
|
findByMetadata(filters?: Record<string, unknown>, options?: ConcurrentFindOptions, prefilter?: ConcurrentMetadataPrefilter): ConcurrentMemoryNode[];
|
|
110
|
+
findByMetadataAsync(filters?: Record<string, unknown>, options?: ConcurrentFindOptions): Promise<ConcurrentMemoryNode[]>;
|
|
109
111
|
findByTags(tags: string[], mode?: TagsMode, options?: ConcurrentFindOptions): ConcurrentMemoryNode[];
|
|
110
112
|
countByTag(tag: string): number;
|
|
111
113
|
countByType(docType: string): number;
|
|
@@ -151,9 +153,11 @@ export declare class ConcurrentDocumentStore {
|
|
|
151
153
|
all(options?: ConcurrentFindOptions): ConcurrentMemoryNode[];
|
|
152
154
|
delete(id: string): ConcurrentMemoryNode | null;
|
|
153
155
|
findByTag(tag: string, options?: ConcurrentFindOptions): ConcurrentMemoryNode[];
|
|
156
|
+
findByTagAsync(tag: string, options?: ConcurrentFindOptions): Promise<ConcurrentMemoryNode[]>;
|
|
154
157
|
findByType(docType: string, options?: ConcurrentFindOptions): ConcurrentMemoryNode[];
|
|
155
158
|
findByTimeRange(start: number, end: number, options?: ConcurrentFindOptions): ConcurrentMemoryNode[];
|
|
156
159
|
findByMetadata(filters?: Record<string, unknown>, options?: ConcurrentFindOptions, prefilter?: ConcurrentMetadataPrefilter): ConcurrentMemoryNode[];
|
|
160
|
+
findByMetadataAsync(filters?: Record<string, unknown>, options?: ConcurrentFindOptions): Promise<ConcurrentMemoryNode[]>;
|
|
157
161
|
findByTags(tags: string[], mode?: TagsMode, options?: ConcurrentFindOptions): ConcurrentMemoryNode[];
|
|
158
162
|
countByTag(tag: string): number;
|
|
159
163
|
countByType(docType: string): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concurrent-document-store.d.ts","sourceRoot":"","sources":["../ts/concurrent-document-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"concurrent-document-store.d.ts","sourceRoot":"","sources":["../ts/concurrent-document-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,6 +83,9 @@ class ConcurrentDocumentStore {
|
|
|
83
83
|
findByTag(tag, options) {
|
|
84
84
|
return this.native.findByTag(tag, options);
|
|
85
85
|
}
|
|
86
|
+
findByTagAsync(tag, options) {
|
|
87
|
+
return this.native.findByTagAsync(tag, options);
|
|
88
|
+
}
|
|
86
89
|
findByType(docType, options) {
|
|
87
90
|
return this.native.findByType(docType, options);
|
|
88
91
|
}
|
|
@@ -92,6 +95,9 @@ class ConcurrentDocumentStore {
|
|
|
92
95
|
findByMetadata(filters, options, prefilter) {
|
|
93
96
|
return this.native.findByMetadata(filters, options, prefilter);
|
|
94
97
|
}
|
|
98
|
+
findByMetadataAsync(filters, options) {
|
|
99
|
+
return this.native.findByMetadataAsync(filters, options);
|
|
100
|
+
}
|
|
95
101
|
findByTags(tags, mode = 'and', options) {
|
|
96
102
|
return this.native.findByTags(tags, mode, options);
|
|
97
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concurrent-document-store.js","sourceRoot":"","sources":["../ts/concurrent-document-store.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;
|
|
1
|
+
{"version":3,"file":"concurrent-document-store.js","sourceRoot":"","sources":["../ts/concurrent-document-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* phase-380/T380.1 (E380-base) — sync NAPI 并发吞吐 baseline.
|
|
4
|
+
*
|
|
5
|
+
* Goal: decide whether wrapping the phase-376/377 optimised read paths
|
|
6
|
+
* (`findByTag`, `findByMetadata`, `getTagMembers`, `listTags`,
|
|
7
|
+
* `getPersonsByAttribute`) in #[napi] async would actually buy us
|
|
8
|
+
* concurrent multi-request throughput, before we spend the cycles on
|
|
9
|
+
* implementation.
|
|
10
|
+
*
|
|
11
|
+
* Hypothesis layout (autoresearch):
|
|
12
|
+
* Q1 (event-loop blocking, problem exists):
|
|
13
|
+
* sync NAPI read Promise.all(N) ≈ for-loop sequential (within OS noise).
|
|
14
|
+
* Q2 (infra control, async wrapper viable):
|
|
15
|
+
* phase-375 writeSyncAsync Promise.all should still pull >= 1.5x over
|
|
16
|
+
* writeSync for-loop on this platform. (Prior result: 43k → 181k ≈ 4.21x.)
|
|
17
|
+
*
|
|
18
|
+
* Decision gate:
|
|
19
|
+
* * Q1 SATISFIED AND Q2 ratio >= 1.5x → H_CONCURRENCY KEEP, advance to T380.2.
|
|
20
|
+
* * Q1 violated (Promise.all sync read >> for-loop) → flag for investigation.
|
|
21
|
+
* * Q2 ratio < 1.5x → H_CONCURRENCY DISCARD, phase-380 collapses to T380.5 wrap-up.
|
|
22
|
+
*
|
|
23
|
+
* The benchmark is intentionally single-process / single-Node — we are
|
|
24
|
+
* NOT trying to measure raw machine throughput, we are checking whether
|
|
25
|
+
* the runtime/spawn topology still behaves the way phase-375 measured.
|
|
26
|
+
*
|
|
27
|
+
* Run:
|
|
28
|
+
* npm --prefix packages/node run build:ts
|
|
29
|
+
* node packages/node/dist/find-async-baseline.js \
|
|
30
|
+
* [--docs=20000] [--scanOps=2000] [--writeOps=5000] [--concurrency=64]
|
|
31
|
+
*/
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=find-async-baseline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-async-baseline.d.ts","sourceRoot":"","sources":["../ts/find-async-baseline.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG"}
|
|
@@ -0,0 +1,424 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* phase-380/T380.1 (E380-base) — sync NAPI 并发吞吐 baseline.
|
|
5
|
+
*
|
|
6
|
+
* Goal: decide whether wrapping the phase-376/377 optimised read paths
|
|
7
|
+
* (`findByTag`, `findByMetadata`, `getTagMembers`, `listTags`,
|
|
8
|
+
* `getPersonsByAttribute`) in #[napi] async would actually buy us
|
|
9
|
+
* concurrent multi-request throughput, before we spend the cycles on
|
|
10
|
+
* implementation.
|
|
11
|
+
*
|
|
12
|
+
* Hypothesis layout (autoresearch):
|
|
13
|
+
* Q1 (event-loop blocking, problem exists):
|
|
14
|
+
* sync NAPI read Promise.all(N) ≈ for-loop sequential (within OS noise).
|
|
15
|
+
* Q2 (infra control, async wrapper viable):
|
|
16
|
+
* phase-375 writeSyncAsync Promise.all should still pull >= 1.5x over
|
|
17
|
+
* writeSync for-loop on this platform. (Prior result: 43k → 181k ≈ 4.21x.)
|
|
18
|
+
*
|
|
19
|
+
* Decision gate:
|
|
20
|
+
* * Q1 SATISFIED AND Q2 ratio >= 1.5x → H_CONCURRENCY KEEP, advance to T380.2.
|
|
21
|
+
* * Q1 violated (Promise.all sync read >> for-loop) → flag for investigation.
|
|
22
|
+
* * Q2 ratio < 1.5x → H_CONCURRENCY DISCARD, phase-380 collapses to T380.5 wrap-up.
|
|
23
|
+
*
|
|
24
|
+
* The benchmark is intentionally single-process / single-Node — we are
|
|
25
|
+
* NOT trying to measure raw machine throughput, we are checking whether
|
|
26
|
+
* the runtime/spawn topology still behaves the way phase-375 measured.
|
|
27
|
+
*
|
|
28
|
+
* Run:
|
|
29
|
+
* npm --prefix packages/node run build:ts
|
|
30
|
+
* node packages/node/dist/find-async-baseline.js \
|
|
31
|
+
* [--docs=20000] [--scanOps=2000] [--writeOps=5000] [--concurrency=64]
|
|
32
|
+
*/
|
|
33
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
34
|
+
if (k2 === undefined) k2 = k;
|
|
35
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
36
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
37
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
38
|
+
}
|
|
39
|
+
Object.defineProperty(o, k2, desc);
|
|
40
|
+
}) : (function(o, m, k, k2) {
|
|
41
|
+
if (k2 === undefined) k2 = k;
|
|
42
|
+
o[k2] = m[k];
|
|
43
|
+
}));
|
|
44
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
45
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
46
|
+
}) : function(o, v) {
|
|
47
|
+
o["default"] = v;
|
|
48
|
+
});
|
|
49
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
50
|
+
var ownKeys = function(o) {
|
|
51
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
52
|
+
var ar = [];
|
|
53
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
54
|
+
return ar;
|
|
55
|
+
};
|
|
56
|
+
return ownKeys(o);
|
|
57
|
+
};
|
|
58
|
+
return function (mod) {
|
|
59
|
+
if (mod && mod.__esModule) return mod;
|
|
60
|
+
var result = {};
|
|
61
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
62
|
+
__setModuleDefault(result, mod);
|
|
63
|
+
return result;
|
|
64
|
+
};
|
|
65
|
+
})();
|
|
66
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
67
|
+
const fs = __importStar(require("fs"));
|
|
68
|
+
const os = __importStar(require("os"));
|
|
69
|
+
const path = __importStar(require("path"));
|
|
70
|
+
const concurrent_document_store_1 = require("./concurrent-document-store");
|
|
71
|
+
function parseArgs() {
|
|
72
|
+
const cpuCount = os.cpus().length;
|
|
73
|
+
const args = new Map();
|
|
74
|
+
for (const raw of process.argv.slice(2)) {
|
|
75
|
+
if (!raw.startsWith('--'))
|
|
76
|
+
continue;
|
|
77
|
+
const [k, v] = raw.slice(2).split('=', 2);
|
|
78
|
+
args.set(k, v ?? 'true');
|
|
79
|
+
}
|
|
80
|
+
const num = (key, def) => {
|
|
81
|
+
const v = args.get(key);
|
|
82
|
+
if (!v)
|
|
83
|
+
return def;
|
|
84
|
+
const n = Number.parseInt(v, 10);
|
|
85
|
+
return Number.isFinite(n) && n > 0 ? n : def;
|
|
86
|
+
};
|
|
87
|
+
return {
|
|
88
|
+
docs: num('docs', 20000),
|
|
89
|
+
scanOps: num('scanOps', 2000),
|
|
90
|
+
writeOps: num('writeOps', 5000),
|
|
91
|
+
concurrency: num('concurrency', 64),
|
|
92
|
+
shardCount: num('shards', Math.max(4, Math.min(cpuCount, 32))),
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
function makeTempDir(prefix) {
|
|
96
|
+
return fs.mkdtempSync(path.join(os.tmpdir(), prefix));
|
|
97
|
+
}
|
|
98
|
+
function cleanupDir(dir) {
|
|
99
|
+
try {
|
|
100
|
+
fs.rmSync(dir, { recursive: true, force: true });
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
/* swallow */
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
function fmt(n) {
|
|
107
|
+
return n.toLocaleString('en-US', { maximumFractionDigits: 1 });
|
|
108
|
+
}
|
|
109
|
+
const TAG_POOL = ['bench', 'alpha', 'beta', 'gamma', 'delta', 'epsilon', 'zeta', 'eta'];
|
|
110
|
+
function makeDoc(index) {
|
|
111
|
+
return {
|
|
112
|
+
id: `doc-${index}`,
|
|
113
|
+
content: `phase-380 baseline payload #${index}`,
|
|
114
|
+
tags: [TAG_POOL[index % TAG_POOL.length], TAG_POOL[(index * 3 + 1) % TAG_POOL.length]],
|
|
115
|
+
docType: index % 2 === 0 ? 'note' : 'report',
|
|
116
|
+
importance: (index % 100) / 100,
|
|
117
|
+
metadata: {
|
|
118
|
+
source: `bench-${index % 16}`,
|
|
119
|
+
bucket: index % 64,
|
|
120
|
+
priority: 1 + (index % 5),
|
|
121
|
+
active: index % 2 === 0,
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
function createStore(dbPath, options) {
|
|
126
|
+
return new concurrent_document_store_1.ConcurrentDocumentStore(dbPath, {
|
|
127
|
+
shardCount: options.shardCount,
|
|
128
|
+
enableWal: false,
|
|
129
|
+
mode: 'high_throughput',
|
|
130
|
+
enableFileLock: false,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
function sleep(ms) {
|
|
134
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
135
|
+
}
|
|
136
|
+
async function waitForWrites(store, expected, timeoutMs = 30000) {
|
|
137
|
+
const deadline = performance.now() + timeoutMs;
|
|
138
|
+
while (performance.now() < deadline) {
|
|
139
|
+
if (store.metrics().successfulWrites >= expected)
|
|
140
|
+
return;
|
|
141
|
+
await sleep(1);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
async function seedStore(store, options) {
|
|
145
|
+
const batchSize = 2000;
|
|
146
|
+
for (let start = 0; start < options.docs; start += batchSize) {
|
|
147
|
+
const end = Math.min(start + batchSize, options.docs);
|
|
148
|
+
const batch = [];
|
|
149
|
+
for (let i = start; i < end; i += 1)
|
|
150
|
+
batch.push(makeDoc(i));
|
|
151
|
+
store.writeBatch(batch);
|
|
152
|
+
}
|
|
153
|
+
store.flush();
|
|
154
|
+
await waitForWrites(store, options.docs);
|
|
155
|
+
}
|
|
156
|
+
// ---------------------------------------------------------------------------
|
|
157
|
+
// Q1 — sync NAPI read: for-loop vs Promise.all (fake concurrency)
|
|
158
|
+
// ---------------------------------------------------------------------------
|
|
159
|
+
function readSyncSequential(store, scanOps) {
|
|
160
|
+
const tag = TAG_POOL[0];
|
|
161
|
+
const start = performance.now();
|
|
162
|
+
let total = 0;
|
|
163
|
+
for (let i = 0; i < scanOps; i += 1) {
|
|
164
|
+
total += store.findByTag(tag, { limit: 10 }).length;
|
|
165
|
+
}
|
|
166
|
+
const elapsedMs = performance.now() - start;
|
|
167
|
+
if (total === 0)
|
|
168
|
+
throw new Error('readSyncSequential: zero results — seed missing');
|
|
169
|
+
return {
|
|
170
|
+
scenario: 'findByTag sync (for-loop sequential, limit=10)',
|
|
171
|
+
total: scanOps,
|
|
172
|
+
elapsedMs,
|
|
173
|
+
throughput: scanOps / (elapsedMs / 1000),
|
|
174
|
+
unit: 'reads',
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
async function readSyncFakeConcurrent(store, scanOps, concurrency) {
|
|
178
|
+
const tag = TAG_POOL[0];
|
|
179
|
+
const start = performance.now();
|
|
180
|
+
let nextIndex = 0;
|
|
181
|
+
let total = 0;
|
|
182
|
+
await Promise.all(Array.from({ length: concurrency }, async () => {
|
|
183
|
+
while (true) {
|
|
184
|
+
const i = nextIndex;
|
|
185
|
+
nextIndex += 1;
|
|
186
|
+
if (i >= scanOps)
|
|
187
|
+
break;
|
|
188
|
+
// sync NAPI: this still blocks the JS main thread for the entire
|
|
189
|
+
// round-trip, so we expect throughput ≈ sequential for-loop.
|
|
190
|
+
total += store.findByTag(tag, { limit: 10 }).length;
|
|
191
|
+
// Yield once per iteration so the worker pattern isn't a no-op
|
|
192
|
+
// in case JS engines fuse trivial sync loops; this still does NOT
|
|
193
|
+
// give NAPI sync a chance to run on a worker thread.
|
|
194
|
+
await Promise.resolve();
|
|
195
|
+
}
|
|
196
|
+
}));
|
|
197
|
+
const elapsedMs = performance.now() - start;
|
|
198
|
+
if (total === 0)
|
|
199
|
+
throw new Error('readSyncFakeConcurrent: zero results');
|
|
200
|
+
return {
|
|
201
|
+
scenario: `findByTag sync (Promise.all=${concurrency}, fake-concurrent, limit=10)`,
|
|
202
|
+
total: scanOps,
|
|
203
|
+
elapsedMs,
|
|
204
|
+
throughput: scanOps / (elapsedMs / 1000),
|
|
205
|
+
unit: 'reads',
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
// ---------------------------------------------------------------------------
|
|
209
|
+
// Q2 — phase-375 control: writeSync vs writeSyncAsync (already known 4.21x)
|
|
210
|
+
// ---------------------------------------------------------------------------
|
|
211
|
+
function writeSyncSequential(store, writeOps, offset) {
|
|
212
|
+
const start = performance.now();
|
|
213
|
+
for (let i = 0; i < writeOps; i += 1) {
|
|
214
|
+
const doc = makeDoc(offset + i);
|
|
215
|
+
store.writeSync(doc.id, doc.content, {
|
|
216
|
+
tags: doc.tags,
|
|
217
|
+
docType: doc.docType,
|
|
218
|
+
importance: doc.importance,
|
|
219
|
+
metadata: doc.metadata,
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
const elapsedMs = performance.now() - start;
|
|
223
|
+
return {
|
|
224
|
+
scenario: 'writeSync sync (for-loop sequential)',
|
|
225
|
+
total: writeOps,
|
|
226
|
+
elapsedMs,
|
|
227
|
+
throughput: writeOps / (elapsedMs / 1000),
|
|
228
|
+
unit: 'writes',
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
async function writeSyncAsyncConcurrent(store, writeOps, offset, concurrency) {
|
|
232
|
+
const start = performance.now();
|
|
233
|
+
let nextIndex = 0;
|
|
234
|
+
await Promise.all(Array.from({ length: concurrency }, async () => {
|
|
235
|
+
while (true) {
|
|
236
|
+
const i = nextIndex;
|
|
237
|
+
nextIndex += 1;
|
|
238
|
+
if (i >= writeOps)
|
|
239
|
+
break;
|
|
240
|
+
const doc = makeDoc(offset + i);
|
|
241
|
+
await store.writeSyncAsync(doc.id, doc.content, {
|
|
242
|
+
tags: doc.tags,
|
|
243
|
+
docType: doc.docType,
|
|
244
|
+
importance: doc.importance,
|
|
245
|
+
metadata: doc.metadata,
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
}));
|
|
249
|
+
const elapsedMs = performance.now() - start;
|
|
250
|
+
return {
|
|
251
|
+
scenario: `writeSyncAsync async (Promise.all=${concurrency})`,
|
|
252
|
+
total: writeOps,
|
|
253
|
+
elapsedMs,
|
|
254
|
+
throughput: writeOps / (elapsedMs / 1000),
|
|
255
|
+
unit: 'writes',
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
// ---------------------------------------------------------------------------
|
|
259
|
+
// Bonus — same Q1 shape on findByMetadata, the 37 ops/s outlier
|
|
260
|
+
// ---------------------------------------------------------------------------
|
|
261
|
+
function findByMetadataSequential(store, scanOps) {
|
|
262
|
+
const start = performance.now();
|
|
263
|
+
let total = 0;
|
|
264
|
+
for (let i = 0; i < scanOps; i += 1) {
|
|
265
|
+
total += store.findByMetadata({ priority: 3 }, { limit: 10 }).length;
|
|
266
|
+
}
|
|
267
|
+
const elapsedMs = performance.now() - start;
|
|
268
|
+
if (total === 0)
|
|
269
|
+
throw new Error('findByMetadataSequential: zero results');
|
|
270
|
+
return {
|
|
271
|
+
scenario: 'findByMetadata sync (for-loop, simple eq, limit=10)',
|
|
272
|
+
total: scanOps,
|
|
273
|
+
elapsedMs,
|
|
274
|
+
throughput: scanOps / (elapsedMs / 1000),
|
|
275
|
+
unit: 'reads',
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
async function findByMetadataFakeConcurrent(store, scanOps, concurrency) {
|
|
279
|
+
const start = performance.now();
|
|
280
|
+
let nextIndex = 0;
|
|
281
|
+
let total = 0;
|
|
282
|
+
await Promise.all(Array.from({ length: concurrency }, async () => {
|
|
283
|
+
while (true) {
|
|
284
|
+
const i = nextIndex;
|
|
285
|
+
nextIndex += 1;
|
|
286
|
+
if (i >= scanOps)
|
|
287
|
+
break;
|
|
288
|
+
total += store.findByMetadata({ priority: 3 }, { limit: 10 }).length;
|
|
289
|
+
await Promise.resolve();
|
|
290
|
+
}
|
|
291
|
+
}));
|
|
292
|
+
const elapsedMs = performance.now() - start;
|
|
293
|
+
if (total === 0)
|
|
294
|
+
throw new Error('findByMetadataFakeConcurrent: zero results');
|
|
295
|
+
return {
|
|
296
|
+
scenario: `findByMetadata sync (Promise.all=${concurrency}, fake-concurrent)`,
|
|
297
|
+
total: scanOps,
|
|
298
|
+
elapsedMs,
|
|
299
|
+
throughput: scanOps / (elapsedMs / 1000),
|
|
300
|
+
unit: 'reads',
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
// ---------------------------------------------------------------------------
|
|
304
|
+
// Driver
|
|
305
|
+
// ---------------------------------------------------------------------------
|
|
306
|
+
function ratio(a, b) {
|
|
307
|
+
if (b <= 0)
|
|
308
|
+
return 0;
|
|
309
|
+
return a / b;
|
|
310
|
+
}
|
|
311
|
+
function decision(label, value, threshold, op) {
|
|
312
|
+
const pass = op === '>=' ? value >= threshold : value <= threshold;
|
|
313
|
+
return `${pass ? 'PASS' : 'FAIL'} ${label}: ${value.toFixed(2)} (${op === '>=' ? '>=' : '≤ '}${threshold})`;
|
|
314
|
+
}
|
|
315
|
+
async function main() {
|
|
316
|
+
const options = parseArgs();
|
|
317
|
+
console.log('============================================================');
|
|
318
|
+
console.log(' phase-380/T380.1 — sync NAPI concurrent throughput baseline');
|
|
319
|
+
console.log('============================================================');
|
|
320
|
+
console.log(` docs=${options.docs}, scanOps=${options.scanOps}, writeOps=${options.writeOps}`);
|
|
321
|
+
console.log(` concurrency=${options.concurrency}, shards=${options.shardCount}`);
|
|
322
|
+
console.log(` CPU cores: ${os.cpus().length}, Node: ${process.version}, Platform: ${process.platform}-${process.arch}`);
|
|
323
|
+
console.log('');
|
|
324
|
+
const dir = makeTempDir('phase380-baseline-');
|
|
325
|
+
const store = createStore(path.join(dir, 'store'), options);
|
|
326
|
+
try {
|
|
327
|
+
console.log(' → seeding store...');
|
|
328
|
+
const seedStart = performance.now();
|
|
329
|
+
await seedStore(store, options);
|
|
330
|
+
console.log(` seeded ${options.docs} docs in ${(performance.now() - seedStart).toFixed(0)} ms`);
|
|
331
|
+
console.log('');
|
|
332
|
+
const results = [];
|
|
333
|
+
// --- Q1: read sync sequential vs fake-concurrent --------------------------
|
|
334
|
+
console.log(' → Q1.read: findByTag sync sequential...');
|
|
335
|
+
results.push(readSyncSequential(store, options.scanOps));
|
|
336
|
+
console.log(' → Q1.read: findByTag sync Promise.all (fake-concurrent)...');
|
|
337
|
+
results.push(await readSyncFakeConcurrent(store, options.scanOps, options.concurrency));
|
|
338
|
+
console.log(' → Q1.meta: findByMetadata sync sequential...');
|
|
339
|
+
results.push(findByMetadataSequential(store, options.scanOps));
|
|
340
|
+
console.log(' → Q1.meta: findByMetadata sync Promise.all (fake-concurrent)...');
|
|
341
|
+
results.push(await findByMetadataFakeConcurrent(store, options.scanOps, options.concurrency));
|
|
342
|
+
// --- Q2: phase-375 control writeSync vs writeSyncAsync --------------------
|
|
343
|
+
// Use a fresh ID range starting beyond the seed pool so we don't update
|
|
344
|
+
// existing docs (which has different fast paths in the engine).
|
|
345
|
+
const writeOffset = options.docs;
|
|
346
|
+
console.log(' → Q2.ctrl: writeSync sync sequential...');
|
|
347
|
+
results.push(writeSyncSequential(store, options.writeOps, writeOffset));
|
|
348
|
+
console.log(' → Q2.ctrl: writeSyncAsync Promise.all...');
|
|
349
|
+
results.push(await writeSyncAsyncConcurrent(store, options.writeOps, writeOffset + options.writeOps, options.concurrency));
|
|
350
|
+
// --- Summary --------------------------------------------------------------
|
|
351
|
+
console.log('');
|
|
352
|
+
console.log('============================================================');
|
|
353
|
+
console.log(' Summary');
|
|
354
|
+
console.log('============================================================');
|
|
355
|
+
for (const r of results) {
|
|
356
|
+
console.log(` ${r.scenario.padEnd(60)} ${fmt(Math.round(r.throughput))} ${r.unit}/s`);
|
|
357
|
+
}
|
|
358
|
+
console.log('');
|
|
359
|
+
const tagSeq = results.find((r) => r.scenario.startsWith('findByTag sync (for-loop'));
|
|
360
|
+
const tagPar = results.find((r) => r.scenario.includes('fake-concurrent, limit=10'));
|
|
361
|
+
const metaSeq = results.find((r) => r.scenario.startsWith('findByMetadata sync (for-loop'));
|
|
362
|
+
const metaPar = results.find((r) => r.scenario.includes('findByMetadata sync (Promise.all'));
|
|
363
|
+
const writeSeq = results.find((r) => r.scenario.startsWith('writeSync sync (for-loop'));
|
|
364
|
+
const writePar = results.find((r) => r.scenario.startsWith('writeSyncAsync async'));
|
|
365
|
+
const q1TagRatio = ratio(tagPar.throughput, tagSeq.throughput);
|
|
366
|
+
const q1MetaRatio = ratio(metaPar.throughput, metaSeq.throughput);
|
|
367
|
+
const q2WriteRatio = ratio(writePar.throughput, writeSeq.throughput);
|
|
368
|
+
console.log('============================================================');
|
|
369
|
+
console.log(' Decision gate');
|
|
370
|
+
console.log('============================================================');
|
|
371
|
+
console.log(` Q1.tag sync Promise.all / sequential ratio = ${q1TagRatio.toFixed(2)}x`);
|
|
372
|
+
console.log(` Q1.meta sync Promise.all / sequential ratio = ${q1MetaRatio.toFixed(2)}x`);
|
|
373
|
+
console.log(` Q2.write writeSyncAsync / writeSync ratio = ${q2WriteRatio.toFixed(2)}x`);
|
|
374
|
+
console.log('');
|
|
375
|
+
console.log(' Q1 expectation: sync NAPI Promise.all should ≈ sequential (event loop blocked).');
|
|
376
|
+
console.log(' Q2 expectation: writeSyncAsync Promise.all should beat sequential by >= 1.5x');
|
|
377
|
+
console.log(' (phase-375/T375.1 prior baseline: 43k → 181k ≈ 4.21x).');
|
|
378
|
+
console.log('');
|
|
379
|
+
const q1TagBlocked = q1TagRatio <= 1.3;
|
|
380
|
+
const q1MetaBlocked = q1MetaRatio <= 1.3;
|
|
381
|
+
const q2InfraOk = q2WriteRatio >= 1.5;
|
|
382
|
+
console.log(decision('Q1.tag blocked (<= 1.30x)', q1TagRatio, 1.3, 'within'));
|
|
383
|
+
console.log(decision('Q1.meta blocked (<= 1.30x)', q1MetaRatio, 1.3, 'within'));
|
|
384
|
+
console.log(decision('Q2.write infra (>= 1.50x)', q2WriteRatio, 1.5, '>='));
|
|
385
|
+
console.log('');
|
|
386
|
+
if (q2InfraOk && (q1TagBlocked || q1MetaBlocked)) {
|
|
387
|
+
console.log(' ✓ H_CONCURRENCY KEEP — proceed to T380.2');
|
|
388
|
+
console.log(' Sync NAPI read confirmed event-loop blocking AND tokio runtime async');
|
|
389
|
+
console.log(' wrapper still produces concurrent throughput on this platform.');
|
|
390
|
+
}
|
|
391
|
+
else if (!q2InfraOk) {
|
|
392
|
+
console.log(' ✗ H_CONCURRENCY DISCARD — phase-380 collapses to T380.5 wrap-up');
|
|
393
|
+
console.log(' writeSyncAsync no longer beats writeSync — runtime/spawn topology has');
|
|
394
|
+
console.log(' regressed since phase-375; read async wrappers would not help.');
|
|
395
|
+
}
|
|
396
|
+
else {
|
|
397
|
+
console.log(' ! Q1 violated — sync NAPI read shows unexpected concurrency gain');
|
|
398
|
+
console.log(' Investigate before continuing (yield points / NAPI implementation drift).');
|
|
399
|
+
}
|
|
400
|
+
console.log('');
|
|
401
|
+
// tab-separated single line, ready for results.tsv ingestion
|
|
402
|
+
const tsv = [
|
|
403
|
+
['phase-380', 'CDS.findByTag.sync.seq', tagSeq.throughput],
|
|
404
|
+
['phase-380', 'CDS.findByTag.sync.par64', tagPar.throughput],
|
|
405
|
+
['phase-380', 'CDS.findByMetadata.sync.seq', metaSeq.throughput],
|
|
406
|
+
['phase-380', 'CDS.findByMetadata.sync.par64', metaPar.throughput],
|
|
407
|
+
['phase-380', 'CDS.writeSync.seq', writeSeq.throughput],
|
|
408
|
+
['phase-380', 'CDS.writeSyncAsync.par64', writePar.throughput],
|
|
409
|
+
];
|
|
410
|
+
console.log('--- results.tsv-ready summary rows ---');
|
|
411
|
+
for (const row of tsv) {
|
|
412
|
+
console.log(`${row[0]}\t${row[1]}\t${Math.round(Number(row[2]))}\tops/s`);
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
finally {
|
|
416
|
+
await store.closeAsync().catch(() => undefined);
|
|
417
|
+
cleanupDir(dir);
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
main().catch((err) => {
|
|
421
|
+
console.error('phase-380 baseline failed:', err);
|
|
422
|
+
process.exit(1);
|
|
423
|
+
});
|
|
424
|
+
//# sourceMappingURL=find-async-baseline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-async-baseline.js","sourceRoot":"","sources":["../ts/find-async-baseline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* phase-380/T380.4 (E380.C) — concurrent throughput e2e benchmark for the
|
|
4
|
+
* 5 new NAPI async wrappers (CDS findByTagAsync / findByMetadataAsync,
|
|
5
|
+
* SGV2 getTagMembersAsync / listTagsAsync / getPersonsByAttributeAsync).
|
|
6
|
+
*
|
|
7
|
+
* For each path we run:
|
|
8
|
+
* * sync sequential (for-loop, sync API)
|
|
9
|
+
* * async sequential (for-loop, async API at concurrency=1) -- spawn-overhead floor
|
|
10
|
+
* * async concurrent (Promise.all=N, async API)
|
|
11
|
+
*
|
|
12
|
+
* Decision gates (autoresearch):
|
|
13
|
+
* H-A1 (per-path concurrent lift): concurrent / sync >= 1.5x
|
|
14
|
+
* H-C (no single-call regression): seq async / sync sequential <= 5x
|
|
15
|
+
*
|
|
16
|
+
* Run after `npx tsc`:
|
|
17
|
+
* node packages/node/dist/find-async-bench.js \
|
|
18
|
+
* [--cdsDocs=20000] [--sgv2Persons=5000] [--sgv2Friends=20000] \
|
|
19
|
+
* [--scanOps=2000] [--concurrency=64]
|
|
20
|
+
*/
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=find-async-bench.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-async-bench.d.ts","sourceRoot":"","sources":["../ts/find-async-bench.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;GAkBG"}
|