使用clone()-Node类方法 - 对性能有好处吗?

时间:2013-09-06 15:57:22

标签: dart

我在for循环中使用clone()。我想知道这是否是一个很好的练习。

var myTable = new TableElement();
var clonableRow = new TableRowElement();

for (var i = 0; i < cols; i++) {
  clonableRow.append(new TableCellElement());
}

for (var j = 0; j < rows; j++) {
  myTable.append(clonableRow.clone(true));
}

而不是..

var myTable = new TableElement();

for (var i = 0; i < rows; i++) {
  var aRow = myTable.append(new TableRowElement());
  for (var j = 0; j < cols; j++) {
    aRow.append(new TableCellElement());
  }
}

哪一项表现最佳?你有其他解决方案吗? (就像Table的本地工厂构造函数,我不知道..)

1 个答案:

答案 0 :(得分:0)

很难说没有真正的数据,基准测试怎么样?但是如果你遇到性能问题,那么它只值得工作 - 不要过早优化!

但如果您在Dart中进行基准测试,则应阅读this guide。 Dart VM的内部使得真正的基准测试难以获得正确的结果。您的代码在热(运行一段时间)之前不会得到优化。在已检查模式下运行VM也有所不同!