OceaBase开发者大会落地上海!4月20日共同探索数据库前沿趋势!报名戳 了解详情
写点什么

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

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

关注

评论

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

A/B测试有哪些常见应用场景?——火山引擎DataTester科普

字节跳动数据平台

大数据 AB testing实战

目前看过最全的一线大厂面试题(题+详解),你所不知道的都在这

钟奕礼

Java java程序员 java面试 java编程

web前端培训学习后找工作难吗?

小谷哥

大数据培训应该怎么学习

小谷哥

Spring6正式发布!重磅更新,是否可以拯救Java

宋小生

端云一体开发,助力鸿蒙应用开发效率全面提升

最新动态

面试处处碰壁?不慌,Java核心面试文档.PDF助你披荆斩棘

钟奕礼

Java java面试 java编程 程序员‘

Nacos 中的配置文件如何实现加密传输

江南一点雨

nacos SpringCloud

Baklib知识分享|企业产品需求文档的特点

Baklib

PRD 产品需求文档

DHorse系列文章之操作手册

tiandizhiguai

微服务 云原生 k8s管理 微服务治理 Serverless Kubernetes

单体分层应用架构剖析

京东科技开发者

架构 模块 应用架构 服务层 业务层

JVM 核心知识体系

钟奕礼

Java java面试 java编程 程序员‘

【Java经典面试800题】面试必备,查漏补缺;多线程+spring+JVM调优+分布式+redis+算法

程序知音

Java java面试 java架构 后端技术 Java面试八股文

大数据培训应该怎么学习

小谷哥

四项发明专利布局国际市场 申威睿思层级化数据库操作加速系统和方法获肯定

科技热闻

华为开发者联盟学堂上线超1800门课程,为开发者提供一站式赋能

最新动态

东莞理工学院-网安学院举办第二届“火焰杯”软件测试高校就业选拔赛颁奖典礼

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

软件测试

太全了!神仙级SpringCloud Alibaba笔记,从入门到实战,全方位讲解微服务技术栈!

程序知音

Java 微服务 Spring Cloud 后端技术

阿里资深架构师谈Java进阶攻略:7大技能+12份进阶笔记+面试150题

钟奕礼

Java 程序员 java面试 java编程

东莞理工学院-网安学院举办第二届“火焰杯”软件测试高校就业选拔赛颁奖典礼

测试人

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

【实用工具】解决PCB设计难题,痛击风险漏洞!

华秋PCB

工具 PCB PCB设计

EMQ宣布推出LF Edge eKuiper全新Logo标识

EMQ映云科技

物联网 IoT emq 11月月更 eKuiper

即时通讯赛道开打信创牌,WorkPlus为何独树一帜?

WorkPlus

java培训程序员就业情况如何

小谷哥

观察者模式在spring中的应用

京东科技开发者

Java spring 编程 观察者模式

咱也不知道这份牛P哄哄的【Nginx实战】资料是不是你们想要的

钟奕礼

Java 程序员 java面试 java编程

集群部署看过来,低代码@AWS智能集群的架构与搭建方案

葡萄城技术团队

负载均衡 部署 集群 亚马逊

金九银十已过,总结了阿里面试官常问九大项面试题!

钟奕礼

Java java面试 java编程 程序员‘

瓴羊DAAS体系结构,助力乔丹体育高质量增长

瓴羊企业智能服务

前端培训与自学有什么区别吗

小谷哥

高管对上新老板的 Twitter

HoneyMoose

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