Протестировал на "идеальном" случае, т. е. кол-во текстовых узлов в документе равно кол-ву подходящих для замены текстовых узлов. В таком случае разница в производительности особенно заметна.
Код срабатывает множество раз, и каждый раз в документе появляются теги "а", которые сразу нужно убирать:
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%