美文网首页
window.performance分析web前端性能之内存

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

作者: Kevin丶CK | 来源:发表于2019-10-15 17:17 被阅读0次

    背景

    最近开始接触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前端性能之内存

          本文链接:https://www.haomeiwen.com/subject/mbismctx.html