Показать сообщение отдельно
  #9 (permalink)  
Старый 20.07.2014, 10:39
Профессор
Посмотреть профиль Найти все сообщения от newobject
 
Регистрация: 10.07.2014
Сообщений: 145

Aetae,
function first(j){
var table = document.createElement('table')
var tr = table.appendChild(document.createElement('tbody')).appendChild(document.createElement('tr'));
for (var i = 1; i < j; i++) {
    tr.appendChild(document.createElement('td'));
}
table1=table
}

function second(j){
var table = document.createElement('table')
var tr = table.insertRow();
for (var i = 1; i < j; i++) {
    tr.insertCell();
}
table2=table
}

function third(j){
var table = document.createElement('table')
var str=""
for (var i = 1; i < j; i++) {
      str+="<td></td>"
}
table.innerHTML=str
table3=table
}


Прогнал по 10000 раз (j=10000)

Из этих 3-х вариантов 2-й -- самый плохой. Опера вообще не понимает insertRow, хром:

//first: 27.000ms
//second: 1557.000ms
//third: 19.000ms

опера:

//first: 84ms (83812µsec)
//third: 24ms (23876µsec)

FF вроде ровно, в IE не проверял (как поставить новый IE на XP, кстати?). В любом случае, third заруливает на всем.

Последний раз редактировалось newobject, 20.07.2014 в 11:40.
Ответить с цитированием