当前位置: 首页 > Web前端 > vue.js

你的功能有多快?用performance监控前端性能

时间:2023-03-31 15:45:10 vue.js

译者:前端小智作者:FelixGerschau来源:felixgerschau再次点赞,微信搜索【走向世界的大招】关注这个没有大厂背景的人,但有积极的态度。本文已收录到GitHubhttps://github.com/qq44924588...,文章已分类,也整理了很多我的文档和教程资料。大家都说简历里没项目可写,所以给大家找了一个项目,还给了一个【搭建教程】。比较两个函数的性能,一个直观且公平的方法是分别计算两个函数的执行时间。好的性能更容易有好的用户体验,好的用户体验才能更好的留住用户。研究表明,88%的在线消费者因性能问题对用户体验不满意后,第二次使用的可能性较小。这也是为什么要提高性能的一个重要原因。尤其是用JS开发的时候,你写的每一行JS都会阻塞DOM,因为它是单线程语言。在本次分享中,我们主要介绍如何计算函数的性能。Performance.nowPerformance是一个离不开前端性能监控的API。最好在页面完全加载后使用,因为很多值只有在页面完全加载后才能获取。最简单的方法就是在window.onload事件中读取各种数据。performance.now()方法返回一个精确到毫秒的DOMHighResTimeStamp。根据MDN:这个时间戳实际上不是高精度的。为了减少像Spectre这样的安全威胁,各种浏览器都对这个类型的值进行了不同程度的取整。(从Firefox59开始,Firefox舍入到2毫秒的精度。)一些浏览器也可能稍微随机化这个值。该值的精度可能会在未来的版本中再次提高;浏览器开发人员仍在研究这些定时攻击以及如何更好地缓解它们。因为,要计算一个函数的执行时间,只要比较函数执行前后performance.now()的值即可,如下:constt0=performance.now();for(leti=0;i{res.push(value/1.2*0.1);});console.timeEnd('test-forEach')returnres;}functiontestFor(x){console.time('test-for');constres=[];for(leti=0;i