Skip to content

Commit c09b344

Browse files
committedJan 15, 2024
fix: memory calc error
1 parent 6837076 commit c09b344

File tree

2 files changed

+11
-19
lines changed

2 files changed

+11
-19
lines changed
 

‎common/utils/withTimeLog.js

+8-19
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,22 @@ const { getFileSize } = require("./sizeUtil");
33
const { isSameData } = require("./isSameData");
44

55
function withTimeLog(callback, compare) {
6-
// 获取函数执行前的内存使用情况
7-
const startHeapStats = v8.getHeapStatistics();
86
console.time("函数执行用时");
7+
// 获取函数执行前的内存使用情况
8+
const startHeapStatsArray = v8.getHeapSpaceStatistics()
99
const callVal = callback()
1010
// 获取函数执行后的内存使用情况
11-
const endHeapStats = v8.getHeapStatistics();
11+
const endHeapStatsArray = v8.getHeapSpaceStatistics()
1212
console.log(callVal);
1313
console.timeEnd("函数执行用时")
14-
15-
// console.log('\n', {
16-
// '当前堆内存的使用量': startHeapStats.used_heap_size,
17-
// '在程序执行过程中达到的内存峰值': startHeapStats.peak_malloced_memory,
18-
// '衡量全局对象句柄的内存使用量': startHeapStats.used_global_handles_size
19-
// }, '\n', {
20-
// '当前堆内存的使用量': endHeapStats.used_heap_size,
21-
// '在程序执行过程中达到的内存峰值': endHeapStats.peak_malloced_memory,
22-
// '衡量全局对象句柄的内存使用量': endHeapStats.used_global_handles_size
23-
// })
24-
14+
const startHeapStats = startHeapStatsArray.reduce((prev, curr) => prev += curr.space_used_size, 0)
15+
const endHeapStats = endHeapStatsArray.reduce((prev, curr) => prev += curr.space_used_size, 0)
2516
// 计算内存使用情况(以字节为单位)
26-
const heapMemoryUsageInBytes = endHeapStats.used_heap_size - startHeapStats.used_heap_size;
17+
const heapMemoryUsageInBytes = endHeapStats - startHeapStats
2718
// 计算内存使用情况
2819
console.log(`内存占用:${getFileSize(heapMemoryUsageInBytes)}`)
29-
// const memoryUsagePercentage = (heapMemoryUsageInBytes / endHeapStats.total_available_size) * 100;
30-
// console.log(`内存占用率:${memoryUsagePercentage}`)
31-
32-
console.log(`预期值:${JSON.stringify(compare)},${isSameData(callVal,compare)?"测试通过!":"测试未通过!"}`)
20+
21+
console.log(`预期值:${JSON.stringify(compare)},${isSameData(callVal, compare) ? "测试通过!" : "测试未通过!"}`)
3322
console.log('--------------------------')
3423
}
3524

‎src/82/index.js

+3
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,14 @@ withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,2,3,3
6767
withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,1,1,2,2,2,2,3,3,3,3,3,4,4,5,6,6,6,7]))),[5,7]);
6868
withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,1,1,2,3]))),[2,3]);
6969
withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,2,3,3,4,4,5]))),[1,2,5]);
70+
withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,2,3,3,4,4,5]))),[1,2,5]);
7071
withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,1,1,2,2,2,2,3,3,3,3,3,4,4,5,6,6,6,7]))),[5,7]);
7172
withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,1,1,2,3]))),[2,3]);
7273
withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,2,3,3,4,4,5]))),[1,2,5]);
74+
withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,2,3,3,4,4,5]))),[1,2,5]);
7375
withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,1,1,2,2,2,2,3,3,3,3,3,4,4,5,6,6,6,7]))),[5,7]);
7476
withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,1,1,2,3]))),[2,3]);
77+
withTimeLog(() => parseListNode(deleteDuplicates(convertListNode(head = [1,2,3,3,4,4,5]))),[1,2,5]);
7578

7679
console.log("点击跳转到题目提交:https://leetcode.cn/problems/remove-duplicates-from-sorted-list-ii/")
7780

0 commit comments

Comments
 (0)