@@ -3,22 +3,24 @@ const { getFileSize } = require("./sizeUtil");
3
3
const { isSameData } = require ( "./isSameData" ) ;
4
4
5
5
function withTimeLog ( callback , compare ) {
6
- console . time ( "函数执行用时" ) ;
6
+ // 记录开始时间
7
+ const startTime = performance . now ( ) ;
7
8
// 获取函数执行前的内存使用情况
8
9
const startHeapStatsArray = v8 . getHeapSpaceStatistics ( )
9
10
const callVal = callback ( )
10
11
// 获取函数执行后的内存使用情况
11
12
const endHeapStatsArray = v8 . getHeapSpaceStatistics ( )
12
- console . log ( callVal ) ;
13
- console . timeEnd ( "函数执行用时" )
13
+ // 记录结束时间
14
+ const endTime = performance . now ( ) ;
14
15
const startHeapStats = startHeapStatsArray . reduce ( ( prev , curr ) => prev += curr . space_used_size , 0 )
15
16
const endHeapStats = endHeapStatsArray . reduce ( ( prev , curr ) => prev += curr . space_used_size , 0 )
16
- // 计算内存使用情况(以字节为单位)
17
- const heapMemoryUsageInBytes = endHeapStats - startHeapStats
18
- // 计算内存使用情况
19
- console . log ( `内存占用:${ getFileSize ( heapMemoryUsageInBytes ) } ` )
20
17
21
- console . log ( `预期值:${ JSON . stringify ( compare ) } ,${ isSameData ( callVal , compare ) ? "测试通过!" : "测试未通过!" } ` )
18
+ console . table ( {
19
+ '函数执行结果' : JSON . stringify ( callVal ) ,
20
+ '函数执行用时' : Number ( endTime - startTime ) . toFixed ( 4 ) + 'ms' ,
21
+ '内存占用' : getFileSize ( endHeapStats - startHeapStats ) ,
22
+ [ `预期值${ JSON . stringify ( compare ) } ` ] : isSameData ( callVal , compare ) ? "测试通过!" : "测试未通过!"
23
+ } )
22
24
console . log ( '--------------------------' )
23
25
}
24
26
0 commit comments