写点什么

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

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

关注

评论

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

产投公司档案AI智能管理系统:用技术让投资档案从“沉睡”到“焕活”

上海拔俗

和鲸科技入选《大模型一体机产业图谱》,以一体机智驱科研、重塑教学

ModelWhale

人工智能 大模型 高等教育 科研智能

平凯数据库与鸿翼完成互认证,破解亿级文档管理难题

TiDB 社区干货传送门

金融 智能制造 / 汽车 政府及公共事业

创新引航,华为云天筹AI求解器斩获全球权威榜单六项第一

新消费日报

火山引擎推出数据智能体Data Agent评测体系!

字节跳动数据平台

AI 应用软件的外包开发

北京木奇移动技术有限公司

AI智能体 软件外包公司 AI应用开发

轻量化 vs 定制化:不同规模企业如何选择 MyEMS 部署模式?

开源能源管理系统

开源 能源管理系统

从沉默到爆发:如何通过海外媒体监控工具发现被忽略的市场机会

沃观Wovision

舆情监测 沃观Wovision 海外舆情监测 社交媒体监控 海外社交媒体监控

漆包线生产数字化管理:ERP、MES系统详解及选型推荐

万界星空科技

mes 万界星空科技mes 漆包线mes 制造业工厂 漆包线工厂

AI智能辅助系统:用技术重构效率,解锁全场景智能新体验

上海拔俗

Decart 发布口型实时同步 API;云蝠语音智能体发布网页语音客服模块丨日报

RTE开发者社区

下一代 AI Agent 的基石:Real-Time AI 新基建丨Convo AI&RTE2025

RTE开发者社区

构建新型电力系统:以云渲染技术破解智慧电网数字孪生应用难题

点量实时云渲染

数字孪生 智慧工厂 协同办公 云渲染 实时渲染云流化

Abaqus软件支持多少人同时使用?达索官方授权代理商推荐

思茂信息

abaqus

大数据-134 ClickHouse 单机+集群节点落地手册 | 安装配置 | systemd 管理 / config.d

武子康

大数据 flink 分布式 Clickhouse clickhouse入仓

黑龙江等保测评公司选择:从风险防控到长期适配的进阶策略

等保测评

区块链 Web3 项目的开发

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

比亚迪出海:从"建"到"简"的车联网修行

科技汇

音乐 NFT 平台的开发

北京木奇移动技术有限公司

区块链开发 软件外包公司 音乐NFT

MyEMS 的 “智慧大脑”:能耗建模、异常预警与优化策略的技术逻辑

开源能源管理系统

开源 能源管理系统

使用 Docker Compose 实现 TiDB 平凯数据库敏捷模式的两节点双向复制

TiDB 社区干货传送门

平凯数据库敏捷模式

软件信息化建设方案编制模版(WORD)

金陵老街

项目建设方案 软件模板

竞品都在用的秘密武器:境外社交媒体监控网站实战全解析

沃观Wovision

沃观Wovision 舆情监测系统 海外舆情监测 社交媒体监控 海外社交媒体监控

Up!使用 Navicat Premium 连接平凯数据库敏捷模式

TiDB 社区干货传送门

数据库连接 平凯数据库敏捷模式

唐刘:为什么 TiDB 是 AI as a Service (AIaaS) 的最佳选择

TiDB 社区干货传送门

技术趋势

TiDB 企业版敏捷模式试用:政企实战场景体验

TiDB 社区干货传送门

社区活动 TEM 试用 平凯数据库敏捷模式

AI 编程热潮下的万字思考 —— 规避风险,善用其利

Baihai IDP

AI 软件工程 AI编程 氛围编程

MyEMS 核心功能拆解:数据采集、能耗分析、智能调控如何落地?

开源能源管理系统

开源 能源管理系统

从海量噪音到精准洞察:AI驱动的境外社交媒体监控网站解决方案

沃观Wovision

舆情监测 沃观Wovision 海外舆情监测 社交媒体监控 海外社交媒体监控

从“踩坑”到“精通”:TiDB 应用开发实战指南

TiDB 社区干货传送门

性能调优 OLTP HTAP 8.x 实践

TiDB v8.5 新特性解读:Region Size 默认提升至 256 MiB

TiDB 社区干货传送门

新版本/特性解读

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