性能优化
李晓怡
年轻就要多折腾
展开
-
Chrome DevTools 之 Profiles,深度性能优化必备
虽然一直在用Chrome DevTools,但大多停留在常用的功能和调试上,比如Elements/Network/Sources/Console等主要功能,而对于性能分析/优化相关的Timeline/Profiles一直敬而远之,深感其门槛高,于是潜心阅读文档,以望窥得一二,以解决实际问题。不同版本的Chrome DevTools差别很大,这篇文章基于最新版的Mac Chrome完成,主要介绍Network/Timeline/Profiles三个方面的内容。系统版本 & Chrome版本转载 2020-07-16 17:20:04 · 1235 阅读 · 0 评论 -
Javascript脚本导致IE浏览器运行缓慢
在 Web开发的时候,经常会遇到的一种情况就是浏览器提示脚本运行时间过长,停止还 是继续,无论你选择什么,相信你都会想尽一切办法让这个对话框远离你的用户们。可你是否知道,这些不同的浏览器究竟是如何判断,哪些脚本处于“失控”状态 么?本文作者,就从Internet Explorer、Firefox、Safari、Chrome和Opera五种浏览器,分析了这个情况出现的原因。【原文标题】What ...转载 2019-04-11 09:33:36 · 2389 阅读 · 0 评论 -
如何提升JavaScript函数的运行速度
这 篇是Nicholas讨论如果防止脚本失控的第二篇,主要讨论了如何重构嵌套循 环、递归,以及那些在函数内部同时执行很多子操作的函数。基本的思想和上一节trunk()那个例子一致,如果几个操作没有特定的执行顺序,而且互相不是 依赖关系,我们就可以通过异步调用的方式加以执行,不止可以减少执行的次数,还可以防止脚本失控。本文还介绍了通过memoization技术取代递归的 方法。【原文标题】Spe...转载 2019-04-11 09:35:50 · 349 阅读 · 0 评论 -
如何提升JavaScript循环的运行速度
根 据Nicholas的说法,有四种代码会拖慢脚本的运行,并最终导致脚本失控。分别是次数过多的同步循环、庞大的函数体、不恰当的递归和不合理的DOM调用。这篇着重讲第一个原因。最后给出了一个开发模式,替换传统的循环结构,可以完全避免脚本失控的状况发生。【原文标题】Speed up your JavaScript, Part 1【原文作者】Nicholas C. Zakas在我上一篇帖子...转载 2019-04-11 09:37:29 · 456 阅读 · 0 评论 -
如何提升JavaScript的递归效率
影响JavaScript性能的另外一个杀手就是递归,在上一节中提到采用 memoization技术可以优化计算数值的递归函数,但memoization不是万能的,不是所有的递归函数都可以用memoization技术优 化,本文介绍了这些情况,并介绍了解决办法,就是将递归转换为迭代,同时需要注意,本文末尾介绍的方案不是最终的方案,还需要和上一节优化循环的方案综合 起来才能达到最佳效果。 【原...转载 2019-04-11 09:39:20 · 766 阅读 · 0 评论 -
memoization提升递归效率
一 memoization简介维基百科是这样描述的:memoization最初是用来优化计算机程序使之计算的更快的技术,是通过存储调用函数的结果并且在同样参数传进来的时候返回结果。大部分应该是在递归函数中使用。memoization这个词是在1968年被Donald Michie创造出来的,它源于拉丁语memoradum,在英语中通常简写为memo,因此就有了将一个函数的返回结果暂存...转载 2019-04-11 13:58:55 · 566 阅读 · 0 评论 -
前端性能优化 14 条规则
规则01:尽量减少HTTP请求前端优化的黄金准则指导着前端页面的优化策略:只有10%-20%的最终用户响应时间花在接受请求的HTML文档上,剩下的80%-90%时间花在为HTML文档所引用的所有组件(图片、脚本、样式表等)进行的HTTP请求上。因此,改善响应时间的最简单途径就是减少组件的数量,并由此减少HTTP请求的数量。当然很多人就会说,既然这样,那我们就减少页面组件的数量不就OK了吗?那你...转载 2018-10-25 17:44:46 · 281 阅读 · 0 评论 -
如何将 Web 主页性能提升十倍以上?
最近,我们将 Universe.com 主页的性能提升了十倍以上。在本文中,我们将解析实现这一重大改进的具体技术手段。但在开始之前,让我们先对网络性能的重要意义进行一番论证(博文末尾提供相关案例研究链接): 用户体验: 糟糕的性能可能导致响应失败,从 UI 与 UX 的角度来看,这可能会引发用户的沮丧情绪。 客户转化与收入: 网站速度缓慢通常会导致客户流失,并对转化率与收入产生...转载 2019-06-18 10:41:57 · 452 阅读 · 0 评论