Dart的性能给我留下了深刻的印象,我用Dart (使用HTML5画布)编写了一个非常简单的web应用程序来渲染曼德尔布洛特集。这绝对不是一个现实的性能测试。该页面在800x600画布中渲染Mandelbrot集,最大深度为10.000。这个应用程序可以在这里看到:http://goo.gl/DLuQp
令我困惑的是:在Dartium中运行,图像渲染大约需要8.5秒(这是令人印象深刻的)。在Firefox中,相同的页面需要超过15秒。这一点也不奇怪。
但是在Chrome (版本27.0.1453.93)中运行相同的页面,它不运行Dart,但JS版本也能在6.7秒内完成,比Dart快吗?
为什么会这样呢?
更新:我添加了一个"Run“按钮来重新渲染画布(以验证预热行为)。此外,我还添加了一个仅限JS的版本(当然是相同的代码),以便在Dartium中检查JS。简而言之:数字和我的问题保持不变。热身似乎没有效果。在Dartium中,JS版本比Dart版本更快。
在结束问题后更新:只是为了记录:在这种特定情况下,将代码移动到并行工作者/隔离中不仅会带来显著的性能提升,而且Dart现在显然将JS版本抛在了后面10倍。
发布于 2013-05-24 04:55:05
这是canvas绑定和API的一个已知问题。请参阅http://dartbug.com/10344
发布于 2013-05-23 18:45:02
这可能有几个原因。从我脑海中跳出:
https://stackoverflow.com/questions/16711001
复制相似问题