内存 profiler 模块
使用方法:
var profiler = require('profiler');
| Type | Method and Description |
|---|---|
| const | public const Node_HiddenNode_HiddenNode_Hidden隐藏节点,当显示给用户时可以被过滤掉 |
| const | public const Node_ArrayNode_ArrayNode_Array数组 |
| const | public const Node_StringNode_StringNode_String字符串 |
| const | public const Node_ObjectNode_ObjectNode_ObjectJS对象(字符串和数组除外) |
| const | public const Node_CodeNode_CodeNode_Code编译后的代码 |
| const | public const Node_ClosureNode_ClosureNode_Closure函数闭包 |
| const | public const Node_RegExpNode_RegExpNode_RegExp正则表达式 |
| const | public const Node_HeapNumberNode_HeapNumberNode_HeapNumber堆中排好序的数字 |
| const | public const Node_NativeNode_NativeNode_NativeNative对象(非v8堆上的) |
| const | public const Node_SyntheticNode_SyntheticNode_SyntheticSynthetic对象 |
| const | public const Node_ConsStringNode_ConsStringNode_ConsString拼接的字符串 |
| const | public const Node_SlicedStringNode_SlicedStringNode_SlicedString分割的字符串 |
| const | public const Node_SymbolNode_SymbolNode_Symbol符号(ES6) |
| const | public const Node_SimdValueNode_SimdValueNode_SimdValue堆中排好序的SIMD值(ES7) |
| const | public const Edge_ContextVariableEdge_ContextVariableEdge_ContextVariable函数中的变量 |
| const | public const Edge_ElementEdge_ElementEdge_Element数组中的元素 |
| const | public const Edge_PropertyEdge_PropertyEdge_Property有名对象的属性 |
| const | public const Edge_InternalEdge_InternalEdge_InternalJS无法进入的链接 |
| const | public const Edge_HiddenEdge_HiddenEdge_Hidden指向需要事先计算出空间大小的节点 |
| const | public const Edge_ShortcutEdge_ShortcutEdge_Shortcut指向无法事先计算出空间大小的节点 |
| const | public const Edge_WeakEdge_WeakEdge_Weak一个弱引用(被GC忽视) |
| Type | Method and Description |
|---|---|
| void | saveSnapshot(String fname)根据指定名称保存一个堆快照 |
| HeapSnapshot | loadSnapshot(String fname)根据指定名称读取一个堆快照 |
| HeapSnapshot | takeSnapshot()获取当前时间节点的堆快照,堆快照记录了当前时刻JS堆的状态 |
| Object | diff(Function test)执行给定的函数,并对比执行前后 v8 堆的变化 |
public const Node_HiddenNode_HiddenNode_Hidden隐藏节点,当显示给用户时可以被过滤掉
public const Node_ArrayNode_ArrayNode_Array数组
public const Node_StringNode_StringNode_String字符串
public const Node_ObjectNode_ObjectNode_ObjectJS对象(字符串和数组除外)
public const Node_CodeNode_CodeNode_Code编译后的代码
public const Node_ClosureNode_ClosureNode_Closure函数闭包
public const Node_RegExpNode_RegExpNode_RegExp正则表达式
public const Node_HeapNumberNode_HeapNumberNode_HeapNumber堆中排好序的数字
public const Node_NativeNode_NativeNode_NativeNative对象(非v8堆上的)
public const Node_SyntheticNode_SyntheticNode_SyntheticSynthetic对象
public const Node_ConsStringNode_ConsStringNode_ConsString拼接的字符串
public const Node_SlicedStringNode_SlicedStringNode_SlicedString分割的字符串
public const Node_SymbolNode_SymbolNode_Symbol符号(ES6)
public const Node_SimdValueNode_SimdValueNode_SimdValue堆中排好序的SIMD值(ES7)
public const Edge_ContextVariableEdge_ContextVariableEdge_ContextVariable函数中的变量
public const Edge_ElementEdge_ElementEdge_Element数组中的元素
public const Edge_PropertyEdge_PropertyEdge_Property有名对象的属性
public const Edge_InternalEdge_InternalEdge_InternalJS无法进入的链接
public const Edge_HiddenEdge_HiddenEdge_Hidden指向需要事先计算出空间大小的节点
public const Edge_ShortcutEdge_ShortcutEdge_Shortcut指向无法事先计算出空间大小的节点
public const Edge_WeakEdge_WeakEdge_Weak一个弱引用(被GC忽视)
saveSnapshot(String fname)根据指定名称保存一个堆快照
fname 堆快照名称loadSnapshot(String fname)根据指定名称读取一个堆快照
fname 堆快照名称返回读取到的堆快照
takeSnapshot()获取当前时间节点的堆快照,堆快照记录了当前时刻JS堆的状态
返回获取到的堆信息快照
diff(Function test)执行给定的函数,并对比执行前后 v8 堆的变化
test 给定要测试的函数返回对比的结果