-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
精读《V8 引擎特性带来的的 JS 性能变化》 #33
Comments
try catch 对性能的影响忽略不计try catch 非常有用,特别在 node 端更是一个常规操作。前端框架也越来越多采用了异常捕获的方式,结合 async await 让代码组织得更加优雅,详细可以看我的这篇博文 统一异常捕获。react mixins 也喜欢 try 住 render 方法,包括 16 版本自动 try 住了所有 render,try catch 可谓无处不在。 node 8 版本之后 try 内部函数性能损耗可以忽略不计。 但是当前版本仍然存在安全隐患,将 这里的代码 拷贝到 chrome 控制台,当前页面会进入无限死循环。 此例子对 try catch 块做了大量循环,官方说法是在某些代码组合情况下陷入无限优化循环。 |
有个疑问, 这个精读是所有人都可以参与, 还是说指定人才能回答? |
@mynane 所有人都可以参加 |
解决 delete 性能问题js 正在变得越来越简单,该 delete 的地方也不会犹豫是否写成 undefined,以提升性能为代价降低代码可读性了。 arguments 转数组性能已不是问题在 node8.3 版本及以上,该使用拓展运算符获取参数,不但没有性能问题,可读性也大大提高,结合 ts 时也能得到类型支持。 bind 对性能影响可以忽略但是在 react 中副作用仍需警惕。由于 ui 组件复用次数在大部分场景及其有限,强烈推荐使用箭头函数书写成员函数(在我的另一篇精读 This 带来的困惑 有详细介绍),而且在 node8 中,箭头函数的性能是最好的。 |
翻到本次精读的译文贴出来: |
函数调用对性能影响越来越小对函数调用优化的越来越好,不需要过于担心注释与空白、函数间调用对性能的影响. 32 64 位数字计算性能node8 对超长数字计算性能还是较低,大概是 32 位数字性能的 2/3,所以尽量用字符串处理大数。 遍历 object基本用法有 创建对象创建对象速度在 node8 得到极大提升,似乎是面向对象编程的福音。 多态函数的性能问题当函数或者对象存在多种类型参数时,在 node8 中性能没什么优化,但单态函数性能大幅提升。所以尽量让对象内部属性单态是比较有用的,比如尽量不要对字符串数组 |
本周精读文章是:V8 引擎特性带来的的 JS 性能变化
The text was updated successfully, but these errors were encountered: