Dart Has Entered Beta with Faster VM, Editor and dart2js
20 months after the initial announcement of Dart, the language and its associated VM have entered beta with milestone M5. There are many small improvements in the current release, the most important ones being related to the Editor, VM, and dart2js.
Dart’s code analyzer included with its Eclipse Editor has been completely rewritten and now it is 20% faster, according to Dan Rubel, Dart Productivity Enhancer. It also generates errors and warnings as code is typed. Code completion is camel case aware. A new Pub Deploy menu item has been added to generate all the code and additional files in a directory, ready to be loaded on a web server.
The VM is 40% (DeltaBlue) and 33% (Tracer) faster than the previous M4 version released in April. SIMD is now better optimized. By implementing SIMD, Dart’s team hopes to take the performance of web applications to a new level, having the capability to improve the processing speed of data intensive algorithms used by WebGL, Canvas, Animation, Physics Simulation, etc. by a factor of 2 or even 3 (PDF).
The team has started reimplementing Web UI using Polymer, a library for building web applications using HTML5 Web Components.
The Release Notes contain the entire list of improvements.
While Dart is now Beta, there is no word when it will make it into Chrome, but during a Q&A session Lars Bak and Kasper Lund, Dart project co-founders, tried to reassure developers that Dart has strong support inside Google:
Dart is on track to get into Google Chrome, is used by critical internal projects, and has a growing community. Dart has commitment from Chrome, has a large and experienced team working on it, and the team is investigating how to place Dart into a standards organization.
Regarding future language features, Bak and Lund, intend to introduce enums and plan to “explore features for async”. On performance, their plan is to be twice as fast as V8, target already reached for DeltaBlue and Tracer. They also consider support for Intel AVX 256-bit instruction set:
There are plans to take advantage of the new AVX instruction set. One example, would be adding Float32x8 type which fits inside the new 256-bit wide registers. Another example would be to use the new gather and permute instructions.
They do not plan to “add GPU programming support to Dart at this time.”
Google has not said how long Dart will be in beta, but the final release (1.0) is to be expected soon, perhaps this summer or fall, according to one of their engineers.