D to ASM.js vs D to Dart (VM)

Etienne via Digitalmars-d digitalmars-d at puremagic.com
Thu May 15 15:16:07 PDT 2014


On 2014-05-15 6:04 PM, "Ola Fosheim Grøstad"
> It can do some tree shaking if you turn off metainfo. But D templates is
> bound to lead to bloat. Dart is a dynamic language and does not benefit
> much from templates. The power of Dart is in closures, but are you sure
> that D closures are compatible?

Templates are compile-time, a D compiler always takes care of all its 
compile-time duties =)

> Dart2js produce large files, acceptable performance, but big.

That's a temporary issue, I'm looking at years from now when/if Dart is 
more mature and implemented in more browsers as an alternative to javascript

Also, I talked about caching in the VM

http://1.bp.blogspot.com/-W1p7BELpIDE/UH42kXZeFsI/AAAAAAAANLA/kZGulTfNjQg/s1600/Screen+Shot+2012-10-16+at+9.39.29+PM.png


> Never. PNaCl will stay faster, it is IR based and multi threaded. Dart
> is a dynamic language designed to be JS compatible. The advantage with
> dart source distribution is in download size and future proof
> compatibility, not speed.

There's a lot of advantages to a source-code VM vs a bytecode VM.

Javascript is compiled into a source-code VM, sure it'll never exceed 
the power of a byte-code VM because without more type information the 
optimization opportunities are limited

See these benchmarks over time as an example:
http://iq12.com/files/v8/v8_score.png

Dart is still very young and does not benefit from as many optimizations 
for the moment.

This same team (the V8 team) decided that a VM based on dynamic typing 
in a type-safe language would be better than pure bytecode because of 
adaptive and profile-guided optimizations. To me that's truly 
groundbreaking, and based on these charts - I'd trust them!


More information about the Digitalmars-d mailing list