Знаешь что меня забавляет? Наблюдать как люди вокруг вместо того чтобы скромно следовать заветам Сократа и считать, что они ничего не знают, сразу находят причину своих проблем снаружи. Это, кажется, называется ресентимент. Я написал код, который тормозит и мне лень пораскинуть мозгами? Это все браузер виноват! Я не понимаю декларативного подхода? Нет, это просто тупой шаблонизатор! Грустно, в общем. В итоге хорошие вещи обычно оказываются оплеваны людьми, которые даже не попытались научиться их готовить.
Твой код тормозил по распространенной причине:
ты пытался запихнуть в innerHTML СЛИШКОМ много. Браузер просто давился, пересчитывая DOM и все, что с этим связано. Бла-бла-бла, даже я не вдаюсь в причины. Решение — использовать ф-цию replaceHTML, которая делает странное. Найдешь ее в обновленном коде.
http://jsfiddle.net/ainop/g41x6tto/5/