1 |
|
2 |
|
3 |
|
4 | const uuid = require('uuid');
|
5 | const { ObservedRemoveMap } = require('../src');
|
6 | const { generateValue } = require('./lib/values');
|
7 |
|
8 | const memoryDelta = (start:Object) => {
|
9 | const end = process.memoryUsage();
|
10 | const delta = {};
|
11 | Object.keys(end).forEach((key) => {
|
12 | const d = end[key] - start[key];
|
13 | delta[key] = Math.round(d / 1024 / 1024 * 100) / 100;
|
14 | });
|
15 | return delta;
|
16 | };
|
17 |
|
18 | describe('Map Memory Test', () => {
|
19 | test('Set and delete values', () => {
|
20 | const map = new ObservedRemoveMap();
|
21 | const startMemoryUsage = process.memoryUsage();
|
22 | for (let i = 0; i < 100000; i += 1) {
|
23 | const key = uuid.v4();
|
24 | const value = generateValue();
|
25 | map.set(key, value);
|
26 | if (i % 1000 === 1) {
|
27 | map.publish();
|
28 | }
|
29 | }
|
30 | console.log(JSON.stringify(memoryDelta(startMemoryUsage), null, 2));
|
31 | });
|
32 | });
|
33 |
|