性能优化2笔记

showcase14:  https://github.com/FE-star/showcase14

showcase7: https://github.com/FE-star/showcase7


JIT

js没有编译器

js是边解析边执行

https://zhuanlan.zhihu.com/p/41130608

JIT的好处是高频执行的代码(优化)可以编译执行



try catch影响性能,为什么呢?



获取时间戳的方式:

1.Date.now() //最快

2.(new Date()).getTime() //中等

3.(new Date()).valueOf()//中等

4.+new Date() //最慢,因为有类型转换


去空格,trim的性能好于replace

原生提供的方法往往性能更好,原生的可能不是js实现的,有可能是C++实现的

indexOf比正则查找字符时更快


for in 会遍历原型的属性吗??



节流 防抖 

showcase7: https://github.com/FE-star/showcase7



https://developers.google.cn/web/fundamentals/performance/rendering/

setTimeout setInterval在执行的时候会受程序的其它代码影响,导致执行时间过长而延迟,这时采用requestAnimation就能很好的避免这种情况

https://www.cnblogs.com/wzz1020/p/6402390.html


https://developers.google.cn/web/fundamentals/performance/rendering/optimize-javascript-execution



改高度宽度,采用该class的这种方式去改高度宽度,因为加class减class只有一次性的操作,如果用js脚本就会有两三次操作了



MTU 最大传输单元,指一个包的大小,不是带宽

参考值14.6KB,特别是第一个请求,小于14.6KB的时候可以把其它一些请求也依赖进去(比如通过base64把图片放进去),而且第一个请求要求最好就是小于14.6KB否则要分两次或者多次,影响体验了。

建议压缩后文件大小小于14.6KB,大于14.6KB会分多次传输

8B=1b,大写的B和小写的b不一样哦



jpg 格式,两种格式,如果用户上传的是baseline格式,可以让后台处理成progressive格式

1.baseline 这种是一点点加载,一开始就是清晰,只是显示的图少

2.progressive(渐进式),推荐用这种,这种是模糊到清晰



协议层面的优化

QUIC http2

它们做的主要事情包含:1.压缩请求头 2.多路复用 3.。。。

QUIC是基于UDP的

你可能感兴趣的:(性能优化2笔记)