Показать сообщение отдельно
  #66 (permalink)  
Старый 09.04.2009, 18:46
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Протестировал на "идеальном" случае, т. е. кол-во текстовых узлов в документе равно кол-ву подходящих для замены текстовых узлов. В таком случае разница в производительности особенно заметна.

Код срабатывает множество раз, и каждый раз в документе появляются теги "а", которые сразу нужно убирать:
var text = 'ddffdfg [url]http://www.youtube.com/watch?v=iuOcLoqo5e0[/url] dsfsdfs';
var startTime = new Date();
for (var __i = 0; __i < 1001; __i++) {
	document.getElementById('div1').innerHTML =
	document.getElementById('div2').innerHTML =
	document.getElementById('div3').innerHTML = text;
	TextNode.each(callback);
}
alert((new Date()) - startTime);


Результат:
IE +8.59%
FF +6.49%
Opera +10.56%
Chrome +13.04%

В среднем +9,67%

В реальном документе сотни, а часто и тысячи текстовых узлов (отступы/табы для форматирования html в большинстве браузеров тоже считаются текстовыми узлами), и максимум 5-10 подходящих, т. е. полученный результат можно смело делить минимум на сотню.

Получаем +0,0967%
Ответить с цитированием