Hallo molily,
Viele Funktionen deines Scripts wurden seitdem auf andere Weise in die Forumssoftware integriert, was ich auch größtenteils für die sinnvollere Lösung halte. Jede clientseitige Lösung, die Operationen an dem äußerst schlecht verarbeitbaren DOM-Baum vornimmt, halte ich daher für eine Übergangslösung. Deshalb sollte nun vor allem über Funktionen auf der Serverseite nachgedacht werden, die man problemlos mit Scripten ansprechen kann. Ich jedenfalls halte es für Zeitverschwendung, sich den Kopf zu zerbrechen über eine JavaScript-Logik, die das Unmögliche möglich macht.
Ich denke, mit zunehmender Leistungsfähigkeit der Rechner eröffnen sich viele neue Möglichkeiten. Warum eine Javascript-Lösung hier unmöglich sein soll, kann ich nicht erkennen. Anderenfalls würde halt bei jeder Kleinigkeit der Server beschäftigt und neuer Traffic erzeugt. Und jede noch so kleine Aktion würde protokolliert, der User wäre vollkommen gläsern.
Mit halbwegs aktueller Hardware ist das doch eigentlich kein Thema. Auf meinem vier Jahre alten Notebook mit 1,2 GHz braucht Opera 3-4 sec, IE und Moz etwa 5 sec reine Scriptzeit beim Reload, allerdings bei der schlankeren, unregistrierten Version, die sperrige XHTML-Version braucht etwas länger.
Ich teste momentan mit einem Script (und Variationen) auf Basis der XHTML-Templates, dessen Performance zu wünschen übrig lässt. Was ich auch mache, es läuft auf meinem AMD Athlon XP 2400+ mit Linux 2.6 im Opera manchmal 6, manchmal 40 Sekunden. Im Firefox kommt immer das Warnfenster, mit dem man das Script abbrechen kann. Das Script läuft mindestens 8-10 Sekunden.
Diese unterschiedlichen Zeiten im Opera habe ich auch. Während im IE, Firefox und Opera 7 die Ladezeiten auch nach vielen Reloads ziemlich konstant bleiben, ist Opera 8/9 zunächst sehr schnell, meist auch noch bei den ersten Reloads, wird dann aber nicht selten instabil. Beenden und neu starten hilft; manchmal hilft es auch, Opera kurz zu minimieren, obwohl der Effekt dann meist nicht von Dauer ist. Es ist wohl ein Bug, der leider auch noch in Version 9 enthalten ist.
Ich habe gerade nochmal die XHTML-Version mit Firefox getestet. Die reine Zeit für das Auslesen des Threadbaums (derzeit nur 1700 Postings) liegt bei mir um die 3 sec, allerdings lese ich dabei auch den Zeitstempel gar nicht mehr aus, sondern hole die Information älter/neuer aus der MessageID. Sowas wie bei dir, z.B.: hour = parseInt(this.date_string.substr(12, 2)); und dasselbe auch noch für year, month, day und minutes kostet natürlich viel Zeit.
Wenn ein Reload gar nicht mehr nötig wäre, weil neue Postings ja dynamisch eingebaut würden, wären ein paar Sekunden am Anfang einer Sitzung aber doch eh nicht so tragisch.
Grüße,
Stefan