Es scheint wirklich ausschließlich am ineffizienten zeichenkettenhandling des InternetExplorers zu liegen. Ich kann Diene Laufzeitwerte bestätigen. Bei meinem 800x6 Testaufbau verringerte deine Methode die Wartezeit von 8300ms auf 1500ms. Das ist zwar schon was, ist aber dennoch unendlich weit von den Werten von Opera und Netscape weg und für den Anwender auch nicht wirklich "Flüssig" (zumal die Lösung noch zu mehr Datensaätzen skalierbar sein sollte).
Eine Umstellung von += auf .concat() bewirkte eine minimale Verlangsamung.
Die Einzige Möglichkeit die ich noch sah war es nicht zuerst in einen String zu schreiben, sondern direkt über DOM einzufügen. Eigentlich Schade, da ich gerade eine so schön Browserunabhängige und (abgesehen vom IE) schnelle Lösung gefunden hatte :´(
!!!LÖSUNG!!!
Dann habe ich nochwas anderes versucht: Zuerst alles in ein Array schreiben und dann mit .join(" ") umwandeln lassen. Und siehe da: Die Schleife dauert nurnoch 16ms, das Umwandeln 47ms und insgesamt bin ich so trotz des zusätzlichen Schritts mit 63ms in Schalgweite zu Opera und Netscape.
Opera bleibt (für Beide Schritte) <1ms und Netscape braucht jeweils 62ms, was im Ergebnis noch tragbar ist.