About a month ago, Firefox 8 implementó el método insertAdjacentHTML, que se agregó a IE4 junto con innerHTML. De acuerdo con this punto de referencia, insertAdjacentHTML es generalmente un orden de magnitud más rápido que innerHTML.¿Cómo es insertAdjacentHTML mucho más rápido que innerHTML?
Supongo que ambos llaman al mismo analizador de HTML, entonces ¿por qué la diferencia es tan dramática? insertAdjacentHTML es una llamada a un método simple, mientras que innerHTML es un getter/setter y probablemente exista un poco de sobrecarga para eso, pero nunca imaginaría tanto.
Tenga en cuenta que el uso de 'appendChild' es mucho más rápido que ambos. Probablemente porque no se necesita un analizador. La diferencia entre 'insertAdjacentHTML' y' innerHTML' parece insignificante en comparación con 'appendChild'. Sin embargo, si necesita analizar la cadena html, 'appendChild' no ayudará mucho. Aquí hay un JSperf detallado: http://jsperf.com/insertadjacenthtml-perf/28 – oriadam