Totalmente de acuerdo con el amigo zerokilled. Añado un par de cosas:
createDocumentFragment es compatible con todos los navegadores -ya funcionaba en Explorer 6-, y se utiliza para añadir en muchos elementos html en él, que como es un contenedor que no forma parte del árbol DOM, evita el recálculo posicional (reflow) que produce cada appendChild.