Показать сообщение отдельно
  #3 (permalink)  
Старый 28.12.2009, 18:43
Интересующийся
Отправить личное сообщение для frid-karatel Посмотреть профиль Найти все сообщения от frid-karatel
 
Регистрация: 28.12.2009
Сообщений: 14

Сообщение от Gvozd Посмотреть сообщение
попробуй использовать вместо $().html(), который как я предполагаю является аналогом innerHTML, createElement
думаю этот метод займет чуточку больше времени на генерацию таблицы, но добавление собранной в памяти таблицы займет гораздо меньше времени, наверно
Не прибавило скорости... Даже убавило - 15 строк рисуются на 100 мс больше...

Заметил, что много времени (где-то 100-150 мс на 15 строк) тратится на удаление прошлой таблицы.

Например, мне надо вывести следующие 15 строк.
Я удаляю старую таблицу и создаю новую. Так вот, последующие создания (обновления) требуют на 100-150 мс больше...

Пытался заменить switch на массив из function, т.е.:
var fa = [];
for (ci = 0; ci < cc; ci++) {
	switch(myTable[0].Col[ci].Type) {
		case 'int': {
			fa[ci] = function(Col) {
				Col = new Date(parseInt(Col));
				Col = Col.getTime();
			};
		} break;
		case 'text': {
			fa[ci] = function(Col) {
				Col = '"' + Col + '"';
			};
		} break;
	}
}

И дальше вместо switch сразу вызывать функцию через fa[ci]( myTable[ri].Col[ci].Value).
Но это заняло на порядок больше времени, чем простой switch...

PS: А что, если в switch манипулировать цифрами, а не текстом?
Т.е. вместо int использовать 0, вместо text - 1?
С точки зрения машины, будет ли это производительней?

Последний раз редактировалось frid-karatel, 28.12.2009 в 18:53.
Ответить с цитированием