Около месяца назад , Firefox 8 реализовал метод insertAdjacentHTML, который был добавлен в IE4 вместе с innerHTML. Согласно этому тесту, insertAdjacentHTML обычно на порядок быстрее, чем innerHTML.
Я предполагаю, что оба вызывают один и тот же HTML-парсер, так почему же разница настолько существенна? insertAdjacentHTML - это простой вызов метода, тогда как innerHTML - это метод получения / установки, и для этого, вероятно, есть некоторые накладные расходы, но я бы никогда не подумал, что так много.