我在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的本地工厂构造函数,我不知道..)
答案 0 :(得分:0)
很难说没有真正的数据,基准测试怎么样?但是如果你遇到性能问题,那么它只值得工作 - 不要过早优化!
但如果您在Dart中进行基准测试,则应阅读this guide。 Dart VM的内部使得真正的基准测试难以获得正确的结果。您的代码在热(运行一段时间)之前不会得到优化。在已检查模式下运行VM也有所不同!