Baxxy hat geschrieben: ↑09.05.2020, 10:59
Black hat geschrieben: ↑09.05.2020, 09:08
Hi Baxxy, das Script wird bei Script ausführen schon komplett auf der CCU ausgeführt, und zwar auf der Remote Api.
Danke für die Aufklärung. Hatte mich bloß gewundert das es im "Script testen" direkt auf der CCU gut 20-30s braucht (wie Alchy auch schrieb) und im SDV sind es tatsächlich nur ~0,7s.
nun, einer der Gründe dafür kann sein, dass der "normale" eingegebene Text für die Übergabe an die remoteApi noch entsprechend umgequotet werden muss.
Das ist schon eine ziemlich QuotingOrgie. Auf dem SDV macht das ein in Machinencode übersetzes Pascal programm etsprechend schnell. Der WebEditor hat dafür nur javascript zur verfügung bzw wenn nochmal auf CCU ebene läuft wirds hmscript sein. Ich denke weder interpretierendes Javascript noch interpretierendes HMScript kommt geschwindigkeitsmäßig gegen nativeX86 ran.
Die Laufzeit bei mir ist von abschicken an die RemoteAPI gemessen bis zum Zeitpunkt, wo ich den Callback der Antwort des fertigen Programmes mit der Scriptausgabe und den verwendeten Scriptvariablen bekomme.
nun aber wieder Ontopic
Deine Änderungen sind schlüssig und ein guter Kompromiss. alle anderen Werte brauchst du wenn nur einmal am tag ^^-
zwei Anmerkungen von mir aber dazu:
1. ich neige dazu, da wo ich etwas von einem anderen gerät abrufe oder den Inhalt eine anderen Seite brauche, gerne mit CallBacks zu programmieren.
Es geht auch auf der CCU, braucht dann aber 2 programme und zwingend CUxD.
Erstes Programm steht alles drin, vor dem eigentlichen Aufruf der Externen Quelle und dem Aufruf der Quelle selber als CUxD Hintergrundprozess mit Rückmeldung.
Zweites Programm steht Wenn dann der trigegr von CUXD drin, das Rückmeldung gekommen ist, dort dann die Auswertung.
Grund dafür: Während der Laufzeit ist die Rega frei und muss nicht warten und ist nicht dadurch für andere Dinge blockiert.
2. Ich bin eigentlich nicht der Freund davon derartige Auswertungen auf CCU ebene zu machen. grade die praktizierte XML Auswertung ist gelinde Gesagt rechenintensiv. Nun gibt es im CCU Befehlssatz auch nicht von EQ3 dokumentierte Methoden ,anscheindend von einigen Wissenden gleichbehandelt mit der Geheimhaltungsklasse der Abschusscodes von Atomraketen (<<-- eine gerne von mir benutze Anapher), welche rudimentäres aber hinreichendes xml Handling ermöglichen.
als Beispiele der xml namensraum, methoden wie Parse () etc. Ich nutz die selber nicht, weil wie gesagt, unter Pascal gibt es eine nette Klassenbibliothek für xml (und auch JSON) und deren Ausführungszeiten betragen nur Bruchteile der CCU Zeiten. Mit dieser Klassenbibliothek arbeite der SDV mit allem was mit Mastersets, Linkssets sowie dessen Backup / restore Funktionlität angeht. das ist schon um einiges fixer als auf der CCU selber ^^
vllt findet sich ja nun hier jemand, der dies mal richtig in xml Parsing umsetzt ^^
Black