NEWS
[Gelöst] Script Performance: Blockly oder JS? Ein großes Script oder viele kleine?
-
Hallo Gemeinde
Ich habe da mal eine oder evtl. mehrere Fragen zum Thema Scripting und Performance. Ich habe den iobroker auf einem RasPi 3 laufen und bin insgesamt sehr zufrieden mit allem was man hier so zaubern kann. Mir ist während des Lesens im Forum aufgefallen, dass es natürlich unterschiedliche Vorgehensweisen beim Scripting gibt. Ich habe z.B. am Anfang für jede Kleinigkeit ein Blockly gebaut und dies in einem seperaten Script gespeichert. D.h. 10 Kleinigkeiten = 10 Blocklys = 10 Scripte. Und jetzt kommt die Frage:
Macht es in der Systemperformance einen Unterschied ob man:
1. Blockly oder JavaScript benutzt?
2. Alle Dinge in wenigen großen Scripts oder in vielen kleinen Scripts speichert
Viele Dinge in wenigen großen Scripts trägt nicht zur Übersichtlichkeit bei, das ist mir klar. Darum soll es auch gar nicht gehen.
Gibt es da Erfahrungswerte? Oder gibt es evtl. andere Tipps zum "Performance Tuning"
Klar kann ein RasPi 3 nicht unendlich viel Performance bringen (meiner zeigt bisher auch keine Schwächen). Ich bin aber immer ein Freund davon, durch vernünftiges Arbeiten der kleinen Kiste das Leben möglichst leicht zu machen?
any comments?
-
Macht es in der Systemperformance einen Unterschied ob man:
1. Blockly oder JavaScript benutzt?
2. Alle Dinge in wenigen großen Scripts oder in vielen kleinen Scripts speichert `
1. Blockly erstellt JavaScript, halt nur über eine grafische Oberfläche.
2. Zusammenpacken was zusammen gehört. Die Scripte werden über Trigger gestartet.
Theoretisch könnte man alles in ein Blockly/Script packen. Da würde man aber nicht mehr durchblicken und Fehlersuche wäre praktisch unmöglich.
Grüße
-
Macht es in der Systemperformance einen Unterschied ob man:
1. Blockly oder JavaScript benutzt?
2. Alle Dinge in wenigen großen Scripts oder in vielen kleinen Scripts speichert
Viele Dinge in wenigen großen Scripts trägt nicht zur Übersichtlichkeit bei, das ist mir klar. Darum soll es auch gar nicht gehen.
Gibt es da Erfahrungswerte? Oder gibt es evtl. andere Tipps zum "Performance Tuning" `
Hi CabCaliber,
Schön das auch dich das Fieber getroffen hat wie so vielen ;).
Also von Performance Seite her ist es snuppe egal ob du alles in einem oder 10 verschiedenen verreist.
Im Endeffekt defekt geht es darum das der Pi (oder andere Hardware) dir Scripte abarbeiten muss mit seinen Triggern, variablen und Sequenzen ob das jetzt in einem grossen oder in verschieden geschieht spielt dabei keine Rolle.
Es könnte in Zukunft Mal sein das du Scripte oder adapter hast die zuviel werden für deinen Pi in der gesamten Zahl, Dan muss man entweder andere Hardware nehmen oder Multihost betreiben.
Dan muss man sich bewusst sein das man nur Instanzen pernä host verteilen kann, ein Script teilt man einem Javascript adapter zu und man kann mehrere Adapter auf dem selben oder verschieden Host laufen habem
Wen man also Scripte per Host verteilen möchte müssen diese seperat sein.
Läuft alles auf dem selben ist das halt nicht so wichtig
–-----------------------
Send from mobile device
Das schöne ios hat Auto Korrektur zum k****
Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community
-
Hi Dutchman
Danke für die Erklärung, dass hilft mir weiter.
:mrgreen:
-
Mich würde mal interessieren, macht es einen Unterschied, ob ich das Script als Blockly gespeichert lasse, oder ob ich, wenn ich damit fertig bin, es im Blockly Editor in Javascript wandeln lasse (und speichere) und es dann so nutze?
-
@padrino sagte:
macht es einen Unterschied, ob ich das Script als Blockly gespeichert lasse, oder ob ich, wenn ich damit fertig bin, es im Blockly Editor in Javascript wandeln lasse (und speichere) und es dann so nutze?
Nein, es sei denn, Du optimierst anschließend den Javascript-Code.
-
Denke, die Optimierungen sind vermutlich im Alltag kaum zu spüren, aber es zu wissen (und zu nutzen), gibt einem ein gutes Gefühl.
Macht es eigentlich einen Unterschied (Performance), ob ich
Falls A, mache Falls b, mache...
oder
Falls A und B, mache...nutze?