Hallo,
Die Sache lässt sich nur schwer generell beurteilen. Es kommt m.E. darauf an, wieviele Statusänderungen pro Zeiteinheit zu erwarten sind. Verzögerungen ergeben sich wohl weniger durch den ausgeführten JavaScript-Code im Polling-Objekt, als vielmehr durch die Menge der nötigen HTTP Requests. Der Flaschenhals ist erfahrungsgemäß die Datenübertragung, jedenfalls wenn das Internet beteiligt ist.
a) IST-ZUSTAND: Das Polling-Objekt holt bei Aenderung die Daten aller betroffenen Geraete vollstaendig ab, die Weiterleitung der Daten geschieht ueber Javascript.
Wenn hier nur ein Request für alle geänderten Zustände erfolgt, scheint mir das ein effizienter Weg.
b) Das Polling-Objekt holt nur die IDs der Geraete ab, die eine Statusaenderung aufweisen und informiert die Geraete-Objekte, dass sie ihren Status per AJAX updaten sollen.
Durch die höhere Zahl einzelner Requests würde ich hier größere Verzögerungen bzw. eher eine Tendenz zur "Verstopfung" erwarten, als bei der Lösung a).
Abhängig von der übertragenen Datenmenge pro Gerät und der Häufigkeit von Aktualisierungen könnte diese Variante in der Praxis trotzdem brauchbarer sein, weil die Geräte-Objekte unabhängiger sind, d.h. sie müssen ggf. nicht alle warten, bis das Polling-Objekt jeweils ein paar GB neuer Daten vollständig empfangen hat.
Gruß, Don P