V8引擎发布7.0正式版,支持WebAssembly线程预览、优化数组排序算法

简介: 该版本将会在几周内与Chrome 70稳定版一起发布,在此之前一直作为Beta版本与Chrome进行联调测试。V 7.0包涵了许多对开发人员很有帮助的新功能。本文带你一起了解其中的一些亮点。

原文作者:Michael Hablich

译者:UC 国际研发 PPP


image.png

V8团队每隔六周都会创建一个新的V8发布分支。每个版本都将在Chrome Beta到达一个milestone之前,从V8的Git的master分支拉出的。

该版本将会在几周内与Chrome 70稳定版一起发布,在此之前一直作为Beta版本与Chrome进行联调测试。V 7.0包涵了许多对开发人员很有帮助的新功能。本文带你一起了解其中的一些亮点。

Embedded built-ins

Embedded builtins 通过在多个V8隔离器之间共享生成的代码来节省内存。从V 6.9开始,我们就在x64上启用了Embedded builtins。V 7.0把这一能力扩大到了除ia32之外的所有平台,为平台节省内存。

WebAssembly线程预览

WebAssembly(Wasm)支持用C++和其他语言编写的代码在Web上运行。原生(Native)应用一个非常有用的能力是使用线程 - 用于并行计算。大多数C和C++开发人员都对pthreads比较熟悉,它是线程管理的标准API。

WebAssembly社区小组一直在努力让Web拥有真正的多线程能力。作为这项工作的一部分,V8已经为WebAssembly引擎中的线程实现了必要的支持。如果想在Chrome中使用该功能,你可以通过chrome://flags/#enable-webassembly-threads来启用,或者也可以为你的网站注册Origin Trial。Origin Trials允许开发人员在完全标准化之前尝试新的Web功能,这也有助于我们收集对新功能和改进至关重要的,真实的反馈。

Origin Trial:
https://github.com/GoogleChrome/OriginTrials

JavaScript语言的新功能

新增Symbol.prototype.description。这使得获取Symbol的描述变得更自然。在此之前,只能通过Symbol.protoype.toString()间接访问描述。感谢Igalia为这个功能的实现做出贡献!

Array.prototype.sort已经在v7.0稳定。以前,v8对于大于10个元素的数组使用“不稳定的”快速排序算法(注:排序算法不稳定,是指该算法可能改变两个相等元素的位置)。现在,我们改用TimSort算法,稳定的排序算法。有关详细信息,请参阅我们的博文。

博文地址:
https://v8.dev/blog/array-sort

V8 API

请通过 git log branch-heads/6.9..branch-heads/7.0 include/v8.h 获取API更改列表。

已经checkout过V8代码的开发者可以通过 git checkout -b 7.0 -t branch-heads/7.0 来测试的新功能。

英文原文:

https://v8.dev/blog/v8-release-70

目录
相关文章
|
22天前
|
Java
深入理解Java并发编程:线程池的应用与优化
【4月更文挑战第3天】 在Java并发编程中,线程池是一种重要的资源管理工具,它能有效地控制和管理线程的数量,提高系统性能。本文将深入探讨Java线程池的工作原理、应用场景以及优化策略,帮助读者更好地理解和应用线程池。
|
23小时前
|
机器学习/深度学习 人工智能 算法
揭秘深度学习中的优化算法
【4月更文挑战第24天】 在深度学习的广阔天地中,优化算法扮演着至关重要的角色。本文将深入探讨几种主流的优化算法,包括梯度下降法、随机梯度下降法、Adam等,并分析它们的特点和适用场景。我们将通过理论分析和实例演示,揭示这些优化算法如何帮助模型更高效地学习参数,从而提高模型的性能。
|
8天前
|
Java 开发者
Java中多线程并发控制的实现与优化
【4月更文挑战第17天】 在现代软件开发中,多线程编程已成为提升应用性能和响应能力的关键手段。特别是在Java语言中,由于其平台无关性和强大的运行时环境,多线程技术的应用尤为广泛。本文将深入探讨Java多线程的并发控制机制,包括基本的同步方法、死锁问题以及高级并发工具如java.util.concurrent包的使用。通过分析多线程环境下的竞态条件、资源争夺和线程协调问题,我们提出了一系列实现和优化策略,旨在帮助开发者构建更加健壮、高效的多线程应用。
7 0
|
9天前
|
算法
R语言使用随机技术差分进化算法优化的Nelson-Siegel-Svensson模型
R语言使用随机技术差分进化算法优化的Nelson-Siegel-Svensson模型
17 0
|
11天前
|
Java 程序员 编译器
Java中的线程同步与锁优化策略
【4月更文挑战第14天】在多线程编程中,线程同步是确保数据一致性和程序正确性的关键。Java提供了多种机制来实现线程同步,其中最常用的是synchronized关键字和Lock接口。本文将深入探讨Java中的线程同步问题,并分析如何通过锁优化策略提高程序性能。我们将首先介绍线程同步的基本概念,然后详细讨论synchronized和Lock的使用及优缺点,最后探讨一些锁优化技巧,如锁粗化、锁消除和读写锁等。
|
16天前
|
算法 数据处理 C语言
【数据结构与算法】快速排序(详解:快排的Hoare原版,挖坑法和双指针法|避免快排最坏时间复杂度的两种解决方案|小区间优化|非递归的快排)
【数据结构与算法】快速排序(详解:快排的Hoare原版,挖坑法和双指针法|避免快排最坏时间复杂度的两种解决方案|小区间优化|非递归的快排)
|
18天前
|
算法 索引
【算法与数据结构】深入二叉树实现超详解(全源码优化)
【算法与数据结构】深入二叉树实现超详解(全源码优化)
|
23天前
|
Java
深入理解Java并发编程:线程池的应用与优化
【4月更文挑战第2天】本文将深入探讨Java并发编程中的重要组件——线程池。我们将了解线程池的基本概念,应用场景,以及如何优化线程池的性能。通过本文,你将能够更好地理解和使用线程池,提高你的Java并发编程能力。
|
1月前
|
机器学习/深度学习 算法 大数据
基于PyTorch对凸函数采用SGD算法优化实例(附源码)
基于PyTorch对凸函数采用SGD算法优化实例(附源码)
29 3
|
1月前
|
算法 搜索推荐 测试技术
python排序算法及优化学习笔记1
python实现的简单的排序算法,以及算法优化,学习笔记1
33 1

热门文章

最新文章