写点什么

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:0010097
用户头像

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

关注

评论

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

LLM 模型融合实践指南:低成本构建高性能语言模型

Baihai IDP

程序员 AI 白海科技 模型融合 mergekit

零门槛AI开发平台EasyDL:百亿参数大模型ERNIE的加持

百度开发者中心

人工智能 深度学习 AI

AI大模型时代:企业如何构建数据智能基础设施

百度开发者中心

AI 大模型 人工智能’

SpEL应用实战

得物技术

Java sping

软件测试学习笔记丨Docker安装,容器管理和镜像管理

测试人

软件测试 自动化测试 测试开发

智能测试时代来临!人工智能如何颠覆测试开发传统模式?

霍格沃兹测试开发学社

智能测试时代来临!人工智能如何颠覆测试开发传统模式?

测试人

人工智能 软件测试 自动化测试 测试开发

面试官让我讲讲MySQL三大核心日志实现原理

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟

运维工作新时代:自主编码实现运维自动化的转型之旅

京东科技开发者

我是怎么用静态IP代理为Google账号保驾护航的

陈橘又青

深入探讨 Vue3 中的 setup 函数

Apifox

vue.js 程序员 前端 前端开发 Vue3

Flink 在蚂蚁实时特征平台的深度应用

Apache Flink

大数据 实时计算 flink 实战

软件测试学习笔记丨MongoDB 数据库

测试人

软件测试 自动化测试 测试开发

ETL快速拉取物流信息

谷云科技RestCloud

ETL 数据转换

活动回顾 | 金融科技提质增效的成功方法论与实践案例

思码逸研发效能

通俗易懂剖析Go Channel:理解并发通信的核心机制

王中阳Go

Go golang 面经 Go 语言 Go学习路线

[行业经验] 跨AZ容灾混沌演练

腾讯云混沌演练平台

容灾 混沌演练 跨AZ

开年喜报!Walrus成功入选CNCF云原生全景图

SEAL安全

开源 运维 cncf Walrus

实例详解在Go中构建流数据pipeline

华为云开发者联盟

开发 华为云 华为云开发者联盟 Go并发范式

大模型时代下的文档识别与分析

百度开发者中心

人工智能 文档 大模型

商品总监必备神器:智能商品计划管理系统如何助力服装企业突围?

第七在线

AI赚钱:时尚图文带货秘籍

派大星

副业赚钱 AI赚钱

常用的制造企业网络优化方案

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

直播回顾 | 去哪儿网研发数字化洞察实践

思码逸研发效能

思码逸荣获 TID 质量竞争力大会“2023 软件研发优秀工具奖”

思码逸研发效能

AI数字虚拟人来了你会失业吗?

小齐写代码

智能测试时代来临!人工智能如何颠覆测试开发传统模式?

测吧(北京)科技有限公司

测试

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