博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
性能优化
阅读量:6900 次
发布时间:2019-06-27

本文共 1025 字,大约阅读时间需要 3 分钟。

引言

性能优化本质来说就是怎样让用户体验更好。之前同事分享过一个关于体验的时间标准,我感觉蛮有趣的,就是说我们尽量让交互响应在0.1秒内,这时体验比较好;如果1秒左右就需要loading;如果10秒左右就需要一个进度条。性能优化不是银弹,在程序做不到0.1内响应的时候,外在辅助措施就很必要。接下总结一些性能优化点,虽不常规,但蛮有意义的。

200 or 304

在sg上回答相关问题时,我较深入的研究了一下,并结合自己的在工作中出现的相关现象做一下总结。我们线上js和css的max-age只有15分钟,所以很容易进行freshness校验,此时就会出现304,但是这就浪费性能了,虽然比较微小。最好的办法是设置一个很长的时间,然后使用版本控制的方法。

webworker

如果主线程需要进行一些耗时操作,时间长了之后浏览器会有假死状态(弹框提示,是否关闭),但是异步拆分操作或者使用webworker的方式,可以使主线程继续能接收到用户的相应。下面是我写的一个demo示例。

var worker=new Worker('./work.js');var data1=0;worker.onmessage=function (event) {    var data = event.data;    data2 = new Date().getTime();    document.getElementById("result").innerHTML ="workers 耗时:"+ (data2 - data1)+"ms"+"

" +data;}function cal() { data1 = new Date().getTime(); worker.postMessage(limit);}------------------work.jsonmessage = function(event){ var num = event.data; console.log(num) var i=0,sum=0; while (i

内联css

减少关键路径往返次数,可以使用内联的方式提升性能,如果你使用webpack的话,去掉ExtractTextPlugin配置,但需损失一些代码的可维护性。上次参加qcon时,记得一位主讲人讲述百度移动端优化时就是这么的。所以这种行为还是有一定借鉴意义的。

转载地址:http://pgpdl.baihongyu.com/

你可能感兴趣的文章
java 中 isEmpty和isBlank区别
查看>>
申请SSL证书怎样验证域名所有权
查看>>
麒麟开源堡垒机集中管控平台软件简介
查看>>
第十一单元练习
查看>>
从零开始的linux 第十六章
查看>>
EOS内存RAM是如何买卖的
查看>>
微服务架构中zuul的两种隔离机制实验
查看>>
电子合同将取代纸质合同吗?
查看>>
官宣丨“创客集结号”成功接入“广东省教育资源公共服务平台”!
查看>>
mock.js与json schema
查看>>
转:Java properties | FileNotFoundException: properties (系统找不到指定的文件。)
查看>>
Cpp中流继承关系
查看>>
Angular CLI 使用教程指南参考
查看>>
[设计模式之禅读书笔记]001_设计模式六大原则(一):单一职责原则(Single Responsibility Principle)...
查看>>
CSAPP:cachelab(1)
查看>>
时间序列识别代码调试版本1
查看>>
Tomcat内存溢出解决办法
查看>>
Vue:v-model指令
查看>>
Software Engineering | Strategy pattern
查看>>
ios开发系列-准备工作
查看>>