Dart 进入 Beta 阶段,带来更快的虚拟机、编辑器和 dart2js

  • Abel Avram
  • 臧秀涛

2013 年 6 月 20 日

话题:JavaScript语言 & 开发

在首次发布20 个月之后,Dart语言及其虚拟机发布 Beta 版本,这也是 M5 版本。当前版本有很多小的改进,其中与编辑器、虚拟机和 dart2js 相关的几项最为重要。

据负责改进 Dart 开发效率的 Dan Rubel 介绍,Dart 的 Eclipse 编辑器中包含的代码分析器已经完全重写,速度提升 20%。该编辑器也会在开发者键入代码时生成错误和警告信息。代码补全功能可以感知驼峰大小写形式。新增的 Pub Deploy 菜单项可以将所有代码和附加文件生成在一个目录下,供 Web 服务器加载。

相对于四月份发布的 M4 版本,虚拟机在 DeltaBlue 基准测试程序上快了 40%,在 Tracer 基准测试程序上快了 33%。SIMD 得到进一步优化。Dart 团队希望通过实现SIMD,将 Web 应用的性能提到一个新台阶,进而有能力把 WebGL、Canvas、动画和物理仿真等功能用到的数据密集型算法的处理速度提升 2 到 3 倍(PDF)。

相对于 M4 版本,dart2js 编译器现在生成的代码最多可以小 3.7 倍性能也有所改进:在 DeltaBlue 基准测试程序上快 10%,在 Richards 上快 20%,在 Tracer 上则快 8%。

开发团队也已经开始使用Polymer重新实现 Web UI。Polymer 是一个使用 HTML5 Web 组件构建 Web 应用的库。

所有改进信息,请参阅发行说明

尽管 Dart 已经是 Beta 版本,但是何时会进入 Chrome 还不得而知,不过 Dart 项目的联合创建者 Lars Bak 和 Kasper Lund 在回答问题时透露,Dart 在 Google 内部拥有强有力的支持,希望开发者打消疑虑:

Dart 会进入 Google Chrome,它已用于内部的一些关键项目,而且它还有一个正在成长的社区。Dart 有来自 Chrome 的贡献,也有一个规模庞大且经验丰富的团队在为之工作,而且该团队正在研究如何让 Dart 进入某个标准化组织。

关于未来的语言特性,Bak 和 Lund 打算引入枚举,并计划“探索异步(async)特性”。他们还计划将其性能提升到 V8 的两倍,该目标已经在 DeltaBlue 和 Tracer 基准测试程序中实现。他们还考虑支持Intel AVX 256 位指令集

我们有计划利用新的 AVX 指令集。一个例子是添加适合放入新的 256 位宽寄存器中的 Float32x8 类型。另一个例子是使用新的 gather 和 permute 指令。

此时他们尚无计划“让 Dart 支持 GPU 编程”。

Google 并没有透露 Dart 的 Beta 阶段会持续多长时间,但是据他们的工程师介绍,最终的 1.0 版本有望不久发布,可能就在今年夏季或秋季。

查看英文原文:Dart Has Entered Beta with Faster VM, Editor and dart2js

JavaScript语言 & 开发