Dart的表现令我印象深刻,我整理了一个非常简单的网络应用程序来渲染Dart中的Mandelbrot(使用HTML5画布)。这绝不是一个真实的性能测试。该页面将Mandelbrot设置为800x600画布,最大深度为10.000。 该应用可在此处查看:http://goo.gl/DLuQp
让我感到困惑的是:在Dartium中运行时,图像渲染时间约为8.5秒(令人印象深刻)。 Firefox中的同一页面需要> 15秒。这并不奇怪。
但是在Chrome中运行相同的页面(版本27.0.1453.93),它不运行Dart但JS版本也在6.7秒内完成,比Dart快?
为什么会这样?
更新: 我添加了一个“运行”按钮来重新渲染画布(以验证预热行为)。另外我添加了一个只有JS的版本(当然是相同的代码)来检查Dartium中的JS。简而言之:数字和我的问题仍然存在。热身似乎没有效果。 Dartium中的JS版本比Dart版本更快。
关闭问题后的更新:仅供记录:在这个特定情况下,将代码移动到并行工作者/隔离区不仅导致显着的性能提升,而且Dart现在明显地将JS版本置于尘埃落后的因素10
答案 0 :(得分:8)
可能有几个原因。脱颖而出:
答案 1 :(得分:5)
这是canvas绑定和API的已知问题。见http://dartbug.com/10344