Inserting DOM elements into an already rendered page is much slower than rendering those same elements from a page refresh. How much slower depends on how you do the insertions. It's also largely dependent on how much styling you have, and how many layers of nested DOM there are. Browser version is also critical.
Here is some (out of date) information:
As you can see, the performance in IE7 degrades dramatically as the complexity of the HTML increases. If you put a timer before the innerHTML setter, you will see that the time increase to that point is negligible. It's actually not a javascript performance problem at all; it's DOM insertion performance!
Up to 70% of IE performance is spent in rendering and layout, according to Microsoft.