2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

华为云X实例的镜像管理详解

轶天下事

云服务器Flexus X实例:部署Gitea,拥有自己的Git仓库,管理本地代码

轶天下事

【YashanDB知识库】数据库用户所拥有的权限查询

YashanDB

数据库 yashandb

云上私人数据管家,jMalCloud个人网盘在华为云Flexus的Docker化部署实践

轶天下事

云端监控新体验,打造强大的Zabbix主机监控解决方案

轶天下事

部署多媒体流媒体平台Plex

轶天下事

鲸品堂2024:技术破局与业务焕新的锐变年鉴

鲸品堂

企业号 2025年1月PK榜

华为云Flexus X实例下的场景体验——小企业必备——禅道服务搭建

轶天下事

云端代码管理新体验,华为云Flexus X实例上GitLab部署与使用的实战指南

轶天下事

探究MyBatis动态SQL的奥秘

代码忍者

轻松搭建蝌蚪聊天室:华为云Flexus X实例实战教程

轶天下事

淘宝商品详情数据获取API:深度技术解析与专业指南

代码忍者

Redis Sets 使用场景有哪些?如何实现共同好友?

码哥字节

redis redis 底层原理

基于Docker与Jenkins实现自动化部署

轶天下事

Jenkins与SonarQube集成部署,自动化代码质量监控

轶天下事

华为云FlexusX实例下的Kafka集群部署实践与性能优化

轶天下事

部署电子书阅读器Koodo Reader

轶天下事

《CPython Internals》阅读笔记:p1-p19

codists

电机行业MES系统解决方案

万界星空科技

mes 万界星空科技mes 制造业工厂 电机行业 电机MES

数据资产2024年终盘点

奇点云

数据资产 数据资产入表

服务端程序员用 Crusor 开发网站的体验

孙斌

#开发

构建数据库解决方案,基于华为云Flexus X实例容器化MySQL主从同步架构

轶天下事

华为云Flexus X实例下的场景体验——小企业必备——JAVA环境搭建——保姆级教学

轶天下事

部署互联网操作系统Puter

轶天下事

Flexus云服务器X实例Docker容器化实践,轻松搭建LNMP环境

轶天下事

AI 编程工具崛起,程序员的未来是否岌岌可危?

王中阳Go

#人工智能 #程序员 chatpt #AI编程

Flexus云服务器X:Python安装的极致便捷之旅

轶天下事

云服务器Flexus X实例:轻量级http服务器Tinyhttpd部署

轶天下事

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