hkk*_*hkk 13 javascript performance dart dart2js
我想更好地了解飞镖对性能的影响.在飞镖网站上,他们的基准测试显示编译为Javascript的Dart代码比Javascript更快.这怎么可能?
我理解Dart VM如何比v8快,但我没有得到的是dart2js生成的javascript如何比普通的旧javascript更快,当两者都在相同的环境中运行时,v8.
Pix*_*ant 18
dart2js能够执行通常不会在JavaScript代码中手动添加的优化.
在这种情况下,Dart作为源语言没有什么特别之处:任何生成JavaScript的自动化工具都应该能够做到这一点,例如GWT编译器(Java到JavaScript)也可以这样做.当然,您可以在JavaScript源代码上运行自动化工具来生成更好的JavaScript,这就是Closure编译器所做的.
从技术上讲,如果您了解所有技巧,您可以使用手写JavaScript手动实现相同的速度.
一个例子是函数内联.如果需要重复调用的代码片段,则可以在函数/方法中重构它.Dart2js经常做相反的事情.方法调用通常被称为内联的被调用函数/方法所包含的代码片段替换.如果你手动执行此操作,将导致无法维护的代码.
我认为许多优化都朝着这个方向发展.以这种方式编写代码是不可读的,因而无法维护.这并不意味着它很草率.
归档时间: |
|
查看次数: |
4288 次 |
最近记录: |