Da die CometVisu eine lang laufende Web Seite, äh, Applikation, ist, macht es viel Sinn die bzgl. Speicherverbrauch zu optimieren und v.a. jegliche Leaks zu stoppen.
Zum Glück bietet der Chrome ja ein paar Nette Möglichkeiten dafür (die ich teilweise nicht mal im Ansatz kapiere...
)
=> Hier kann jeder andere auch sehr gut helfen!
Was ich aber bei leerer Config meine gefunden zu habe, ist dass der CometVisu-Client Watchdog Date()-Objekte leakt. Wenn ich den ändere zu:
wird's deutlich besser.
Aber wieso?!?
Hier hatte ich auf die GC vertraut, schließlich wird das alte Date-Objekt ja durch die neue Zuweisung herrenlos und sollte dann von selbst gelöscht werden...
Zum Glück bietet der Chrome ja ein paar Nette Möglichkeiten dafür (die ich teilweise nicht mal im Ansatz kapiere...

=> Hier kann jeder andere auch sehr gut helfen!
Was ich aber bei leerer Config meine gefunden zu habe, ist dass der CometVisu-Client Watchdog Date()-Objekte leakt. Wenn ich den ändere zu:
Code:
var watchdog = (function(){ var last = new Date(); var hardLast = last; var aliveCheckFunction = function(){ var now = new Date(); if( now - last < thisCometVisu.maxConnectionAge * 1000 ) return; if( now - hardLast > thisCometVisu.maxDataAge * 1000 ) thisCometVisu.lastIndex = -1; // reload all data thisCometVisu.restart(); last = now; }; var aliveHandler = setInterval( aliveCheckFunction, thisCometVisu.watchdogTimer * 1000 ); return { ping: function(){ [B]delete last;[/B] last = new Date(); if( !thisCometVisu.doRestart ) { [B]delete hardLast;[/B] hardLast = last; } } }; })();
Aber wieso?!?
Hier hatte ich auf die GC vertraut, schließlich wird das alte Date-Objekt ja durch die neue Zuweisung herrenlos und sollte dann von selbst gelöscht werden...
Kommentar