|
1 | 1 | import { readFile } from 'node:fs/promises'; |
| 2 | +import { finished } from 'node:stream/promises'; |
2 | 3 | import format from 'human-format'; |
3 | | -import memwatch from '@airbnb/node-memwatch'; |
4 | 4 | import { SAXParser } from '../../packages/parse5-sax-parser/dist/index.js'; |
5 | | -import { finished } from 'parse5-test-utils/dist/common.js'; |
6 | 5 |
|
7 | 6 | /* eslint-disable no-console */ |
8 | 7 |
|
9 | | -const heapDiffMeasurement = new memwatch.HeapDiff(); |
10 | | - |
11 | | -let maxMemUsage = 0; |
12 | | - |
13 | | -memwatch.on('stats', (stats) => { |
14 | | - maxMemUsage = Math.max(maxMemUsage, stats.used_heap_size); |
15 | | -}); |
16 | | - |
17 | | -const statsPromise = new Promise((resolve) => memwatch.once('stats', resolve)); |
| 8 | +const usageStart = process.memoryUsage().heapUsed; |
18 | 9 |
|
19 | 10 | const startDate = new Date(); |
20 | 11 |
|
21 | 12 | const parsedDataSize = await parse(); |
22 | 13 | const endDate = new Date(); |
23 | | -const heapDiff = heapDiffMeasurement.end(); |
24 | | - |
25 | | -// NOTE: we need at least one `stats` result to get maxMemUsage |
26 | | -await statsPromise; |
| 14 | +const usageEnd = process.memoryUsage().heapUsed; |
27 | 15 |
|
28 | 16 | async function parse() { |
29 | 17 | const data = await readFile(new URL('../../test/data/huge-page/huge-page.html', import.meta.url), 'utf8'); |
@@ -51,6 +39,5 @@ const scale = new format.Scale({ |
51 | 39 | }); |
52 | 40 |
|
53 | 41 | console.log('Duration:', format((endDate - startDate) / 1000, { scale })); |
54 | | -console.log('Memory before:', heapDiff.before.size); |
55 | | -console.log('Memory after:', heapDiff.after.size); |
56 | | -console.log('Memory max:', format(maxMemUsage, { unit: 'B' })); |
| 42 | +console.log('Memory before:', usageStart); |
| 43 | +console.log('Memory after:', usageEnd); |
0 commit comments