我在试着更好地理解省道对表演的影响.在dart website上,他们的基准测试表明,编译成Javascript的DART代码比只编译成Javascript的DART代码要快.这怎麽可能?
我理解DART VM如何比V8更快,但我不明白的是,当两者运行在相同的环境(V8)中时,dart2js生成的javascript比普通的旧式javascript更快.
我在试着更好地理解省道对表演的影响.在dart website上,他们的基准测试表明,编译成Javascript的DART代码比只编译成Javascript的DART代码要快.这怎麽可能?
我理解DART VM如何比V8更快,但我不明白的是,当两者运行在相同的环境(V8)中时,dart2js生成的javascript比普通的旧式javascript更快.
dart2js能够执行通常不会在JavaScript代码中手动添加的优化.
在这种情况下,Dart作为源语言并没有什么特别之处:任何生成JavaScript的自动化工具都应该能够做到这一点,例如GWT编译器(Java到JavaScript)也能做到这一点.当然,您也可以在JavaScript源代码上运行自动化工具来生成更好的JavaScript,这就是Closure compiler所做的.
从技术上讲,如果你知道所有的技巧,你可以用手写JavaScript手动达到同样的速度.