Re: Temperatur Vergleich mit Nummer
Verfasst: 1. Okt 2022 14:18
Nun ja, kommt drauf an, was man als langsam bezeichnet.
Ich habe mal aus Versehen eine Rule gebaut, die sich selbst getriggert hat, in der Art Trigger ist Update von Item a und innerhalb der Rule (an irgendeiner Stelle) dann a.postUpdate(). Die Rule wurde dann etwa 60 Mal pro Sekunde getriggert und hat über den Tag für knapp zwei GByte logs gesorgt. Die Rule Engine war natürlich komplett dicht und dennoch ließen sich gewöhnliche Befehle (also direkte, ohne das eine Rule beteiligt war) ganz normal ausführen.
Die Rule mit dem Timer wird vermutlich etwa drei Millisekunden brauchen. Der Timer Code wird etwa die gleiche Zeit brauchen.
Ob eine Rule in JavaScript so viel schneller ist? Vermutlich. Andererseits: dann braucht sie halt nur eine Millisekunde, aber hat das sonst irgendwelche Auswirkungen? Die Rule wird einmalig ausgelöst, wenn das Fenster geöffnet oder geschlossen wird. Der Timer wird alle zehn Minuten ausgelöst, im Verhältnis also immer noch komplett zu vernachlässigen.
Und wenn es um Hausautomation geht, reden wir von eher gemächlichen Systemen. Die Reaktionszeiten kommen regelmäßig von externen Systemen (ich habe ein Demo Video von Matter gesehen... und das soll ein Fortschritt sein? Schalter an, Pause, Pause, Licht an? Also ich weiß nicht...
Nein, ich wollte nur darauf hinweisen, dass sie hier nicht notwendig sind. Der Code der DSL Rules wird compiliert, eine Formatierung des Codes spielt also keinerlei Rolle für die Ausführungsgeschwindigkeit. Die {} sind nur wichtig, um Code-Blöcke zu markieren, weil anders als in z.B. php oder Python die Einrückung des Codes keine Rolle spielt, die ist nur zur besseren Lesbarkeit des Quelltextes.