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