window.performance分析web前端性能之内存

背景

最近开始接触NodeJS,发现process(process对象用于处理与当前进程相关的事情)对象内有个API,及process.memoryUsage()方法返回一个对象,该对象描述以字节为单位的Node.js进程的内存使用情况。

function getMe() {
  var mem = process.memoryUsage()
  console.log(mem)
}
getMe();

打印出的数据为:


heapTotalheapUsed代表V8的内存使用情况。 external表示绑定到由V8管理的JavaScript对象的C ++对象的内存使用情况。rss常驻集大小,是进程在主内存设备(即总分配内存的子集)中占用的空间量,包括代码段堆栈
是一个对象,字符串和封闭的存储位置。变量存储在堆栈中,而实际的JavaScript代码位于 代码段中
使用Worker线程时,rss它将是一个对整个进程有效的值,而其他字段将仅引用当前线程。
其实在浏览器中,Window对象中也有一个是用来查看分析网站性能的及window.performance

window.performance

Web Performance API允许网页访问某些函数来测量网页和Web应用程序的性能,包括 Navigation Timing API和高分辨率时间数据。

方法

performance.mark()
通过一个给定的名称,将该名称(作为键)和对应的DOMHighResTimeStamp(作为值)保存在一个哈希结构里。该键值对表示了从某一时刻(译者注:某一时刻通常是 navigationStart 事件发生时刻)到记录时刻间隔的毫秒数。(译者注:该方法一般用来多次记录时间,用于求得各记录间的时间差)

performance.now()
该方法返回一个DOMHighResTimeStamp对象,该对象表示从某一时刻(译者注:某一时刻通常是 navigationStart 事件发生时刻)到调用该方法时刻的毫秒数。

属性

performance.timing
是一个PerformanceTiming 对象,包含延迟相关的性能信息。
performance.navigation
是一个 PerformanceNavigation 对象,该对象表示在当前给定浏览上下文中网页导航的类型(译者注:TYPE_BACK_FORWARD,TYPE_NAVIGATE, TYPE_RELOAD,TYPE_RESERVED)以及次数。
performance.memory
在Chrome中添加的一个非标准扩展。
这里的performance.memory就和上面的process.memoryUsage()类似功能。


包含的信息:
(1)jsHeapSizeLomit:内存大小限制
(2)totalJSHeadSize:可使用的内容
(3)userdJSHeadSize:已使用的内容

你可能感兴趣的:(window.performance分析web前端性能之内存)