Não use innerHTML para esvaziar elementos DOM

Evitar o uso de innerHTML ao esvaziar elementos DOM (ou qualquer outra coisa) pode aumentar muito o desempenho.

Dê uma olhada você mesmo: http://jsperf.com/innerhtml-vs-removechild/37

No Chrome 26, usar um while-loop para remover crianças era incrivelmente 400 vezes mais rápido! Estamos falando de um navegador para desktop!

Em vez de fazer isso

el.innerHTML = '';

para esvaziar seus elementos DOM, você deve usar este

while (el.firstChild) el.removeChild(el.firstChild);

que é, como eu disse, cerca de 400 vezes mais rápido do que o innerHTML em um navegador de desktop moderno.

Mesmo o uso de innerText para limpar o elemento DOM (conhecido por ser mais rápido do que innerHTML) não se compara e é um pouco mais de 10 vezes mais lento do que o loop while.