Skip to content

Commit 4661db2

Browse files
committed
新增内存测试:为 MemoizeDict 添加内存使用检查测试用例
1 parent e988450 commit 4661db2

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

src/index.memory.test.ts

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import { describe, test } from 'vitest';
2+
import { MemoizeDict } from '.';
3+
4+
describe('Memory test', () => {
5+
const mockData = Array.from({ length: 1000 }, (_, i) => ({ label: `Item ${i}`, value: i, parent: i - 1 }));
6+
const memoizeDict = new MemoizeDict({
7+
config: new Proxy({}, {
8+
get: (_, key: string) => ({
9+
data: async () => (JSON.parse(JSON.stringify(mockData))),
10+
}),
11+
}),
12+
});
13+
14+
test('should check memory usage', async () => {
15+
const startMemory = process.memoryUsage().heapUsed;
16+
console.debug('Memory used:', `start: ${startMemory / 1024 / 1024} MB`);
17+
18+
for (let i = 0; i < 100; i++) {
19+
memoizeDict.get('test' + i);
20+
}
21+
while (!memoizeDict.get('test99')) {
22+
await new Promise((resolve) => setTimeout(resolve, 1));
23+
}
24+
console.debug(`!!memoizeDict.get('test88') :>> `, !!memoizeDict.get('test88'));
25+
console.debug('Memory used:', ` diff: ${(process.memoryUsage().heapUsed - startMemory) / 1024 / 1024} MB`);
26+
});
27+
});

0 commit comments

Comments
 (0)