AICon 深圳站聚焦 Agent 技术、应用与生态,大咖分享实战干货 了解详情
写点什么

V8 提升异步性能:JavaScript 一大痛点得以解决

  • 2019-01-12
  • 本文字数:844 字

    阅读完需:约 3 分钟

V8提升异步性能:JavaScript一大痛点得以解决

V8 JavaScript 团队宣布优化异步函数和 promises 对象。团队还提升了异步代码的调试体验,这也是 JavaScript 开发人员的共同痛点。

正文

V8 JavaScript 团队宣布优化了异步函数和promises对象。团队还提升了异步代码的调试体验,这也是 JavaScript 开发人员的共同痛点。


在 ES2015 中引入了 promises,在之后引入了异步函数,ES2018 中引入的异步迭代让编写异步代码变得比使用回调来的更为高效。


但直到最近,这些新功能使用的优势还没有得到很好的体现。Google V8 工程师 Maya Lekova 和 Benedikt Meurer 解释称:


我们非常努力地提升了性能,使得 V8 的性能从 v5.5 (Chrome 55 & Node.js 7)到 v6.8 (Chrome 68 & Node.js 10)上了一个台阶。现在的性能水平可以保证开发人员放心地使用这些新的编程范例而不需考虑速度问题。Promise.all 的性能水平也提升了 8 倍。


V8 团队还探索了真实世界的源代码性能案例,研究了使用 promises 和异步函数的中间件框架,例如 hapi、koa 和 trek。随着 V8 最近的变更,这些框架的性能也显著提升。


V8 中的几项变更促使了异步性能的提升,包括全新的优化编译器 TurboFan,全新的垃圾收集器 Orinoco,将 GC 过程从主线程中移出,以提升请求处理的过程。另外,Node.js 8 中的一个错误导致有些情况下等待跳过微拍(microticks)的情况发生。


由于提升了性能,需要用一些建议的补丁来改进异步函数规范,这可以提高 V8 以及所有 JavaScript 引擎的性能。这些变更包括移除两个额外的微拍,并移除了异步函数的 throwaway promise。


随着最近对于 V8 源代码的更新,以及对异步函数规范的计划改进,async 和 await 由于降低了一步函数的开销,因此也第一次比 promise 代码表现得更好。


为了让调试变得更加简单,Chrome DevTools 改进了堆跟踪,包括堆跟踪的异步部分。


V8 是 Google 推出的开源 JavaScript 引擎,支持 Chrome、基于 Chrome 的浏览器以及 Node.js。V8 遵循 BSD 许可证。欢迎开发人员根据Chrome代码标准V8 GitHub项目下对它作出贡献


查看英文原文V8 Improves Async Performance


2019-01-12 08:0010014
用户头像

发布了 218 篇内容, 共 75.7 次阅读, 收获喜欢 76 次。

关注

评论

发布
暂无评论
发现更多内容

百度智能云开物工业互联网平台解决方案亮相2021服贸会成果发布会

百度大脑

人工智能 服贸会

阿里后端优化这么恐怖?看完这20W字Java性能实战经验手册,最少P7

Java 阿里巴巴 面试 性能调优 金九银十

前端技术概览

数据库 大数据 时序数据库 tsdb 数据智能

面对面小程序开源

OpenIM

了解JDBC层之QueryDSL

邱学喆

QueryDSL SQLQueryFactory

iOS 屏幕旋转的实践解析

ZEGO即构

ios 音视频 屏幕旋转

Tapdata Real Time DaaS 技术详解 PART I :实时数据同步

tapdata

"云智一体"全场景智能视频技术与应用解析白皮书下载申请

百度开发者中心

白皮书 云智一体 智能视频

想要入职阿里P6?最少啃完这本500页Java并发多线程源码笔记

Java 编程 面试 多线程 阿里

App 不想被“点名”,mPaaS 隐私合规检测为开发者护航数字生态建设

蚂蚁集团移动开发平台 mPaaS

移动开发 mPaaS 监管合规 隐私安全

亚信科技AntDB数据库国产化进程加速,计费上云再下一城

亚信AntDB数据库

实践案例 9月日更

会员业务基于Cloud KMS的数据安全应用

爱奇艺技术产品团队

数据安全法 Cloud KMS

被面试官问懵:TCP 四次挥手收到乱序的 FIN 包会如何处理?

华为云开发者联盟

TCP 网络 报文 挥手 FIN

如何给技术部员工做考核?

石云升

团队管理 管理 引航计划 内容合集 9月日更

联想新IT引擎引领智能化变革,助力“中国力量”更加强大

科技范儿

京东云金秋上云特惠进行中!扫码参与活动

京东科技开发者

云计算 云主机 大促

首场“说透数字化转型专题讲座”将于 9 月 15 日在天津举办

InfoQ 天津

【墨天轮专访第四期】华为云GaussDB苏光牛:发挥生态优势,培养应用型DBA

墨天轮

数据库 华为云 GaussDB

数据脱敏是什么意思?有什么好处?

行云管家

数据库 数据安全 数据脱敏 数据库安全

阿里官方保姆级Java技术图谱发布!够学到春节了,赶紧收藏!

Java 面试 阿里 大厂 金九银十

Chrome前端调试技巧分享

华为云数据库小助手

大前端 调试 GaussDB 华为云数据库

读了这篇SpringBoot底层原理让我在阿里成功涨薪40%,感谢

Java 编程 面试 涨薪 阿里

开源应用中心|动手自建一个超高度自由的个人知识库,原来这么容易!

开源

守护油田安全,EMQ X 在石油石化危化品监测管理中的应用

EMQ映云科技

物联网平台 物联网 IoT 边云协同 emq

浪潮云洲发布标识解析数据网关产品

工业互联网

交易所刷量机器人定制开发案例(源码搭建)

量化系统19942438797

交易所 做市机器人 自动刷量机器人

大公司运维监控怎么做?从哪些方面考虑?

行云管家

云计算 运维 运维监控 运维审计 数据监控

让 Serverless 应用开发更简单,Serverless Devs 2.0 全新发布

Serverless Devs

开源 Serverless

MESI缓存一致性协议

Java 架构 面试 后端

Elasticsearch 原理解析(介绍)

ZzC🍖

搜索引擎 elasticsearch

一周信创舆情观察(8.30~9.5)

统小信uos

V8提升异步性能:JavaScript一大痛点得以解决_语言 & 开发_Dylan Schiemann_InfoQ精选文章