Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Operationsgeschwindigkeit Kategorie: CC-Pro Unit & Appl.Board (von PeterS - 25.11.2005 17:23)
Als Antwort auf Re: Operationsgeschwindigkeit von Dietmar - 25.11.2005 14:27

> Ich habe mir den vom Compiler erzeugten Bytecode kurz angesehen. Wenn ich das richtig deute, dann
> ist der Zugriff auf Ports deshalb langsam, weil Biblioheks-Routinen benutzt werden. Bereits für die
> �bergabe der zwei Parameter werden vier Bytecode-Instruktionen benötigt. Wie schnell die
> Biblioheks-Routine arbeiten, lä�t sich nur vermuten. Die CC1-kompatiblen Kontroller besitzen
> Befehle zum Portzugriff bereits im eingebauten Befehlsumfang und sind deshalb im Vorteil.
Stimmt.

> Es kann natürlich vermutet werden, da� alle per Bibliothek implementierten Funktionen eine ähnlich
> schlechte Performance aufweisen.
Es werden 2 Bytecodes pro �bergabeargument benötigt. Sollte die Open-Mini/Micro selbst eine grö�ere
interne Bibleothek bekommen, würde ich gerne sehen wie Du das effizienter löst. Und das meine ich
ernst" Findest Du eine bessere Lösung, la� mich daran teilhaben, dann bau ich das in die CC-Pro ein.

> > Und wie auch schon geschrieben, sollte der Bedarf da sein (zumindest für Rechtecksignale nicht) so
> > kann ich einen spezialisierten Bytecode einbauen. Dann würde das Beispielprogramm nur 5 Bytecodes
> > benötigen. Das wären dann schon 48.000 Durchläufe/s.
>
> Dieser Rechnung kann ich nicht ganz folgen. Jetzt besteht die Schleife aus 5*4+1 Bytecode-Instruktionen
> und daher sollte das Programm nach Deiner Rechnung 30000*(5*4+1)/240000 = 2.625 Sekunden benötigen.
> Nach Deinen Messungen sind es aber 4.99 Sekunden.
In diesem Punkt hast Du im Prinzip recht. Ich habe zwar eine For/Next Schleife gemessen, und in der
Berechnung ein Goto verwendet, aber die Messung ist zu lange. Laut Atmel Doku braucht die Portausgabe
einen Taktzyklus. Vielleicht ist das bei denen geschönt. Die 240.000bc/s hab ich mit der Zuweisung
gemessen und nicht mit dem Port Befehl.

Ich habe aber jetzt langsam keine Zeit mehr für den das "battle'n" von Me�werten, es kann sein da� wir
bei Portbefehlen auf langsamere Werte kommen. Das hängt sowieso immer von dem benutzen
Kommando ab. Ich werde in nächster Zeit mal schauen, wie ich die einzelnen Bytecodes oder
Library-Aufrufe ausgemessen bekomme.

Gruss Peter



    Antwort schreiben


Antworten:

Re: Operationsgeschwindigkeit (von Dietmar - 25.11.2005 23:57)
    Re: Operationsgeschwindigkeit (von PeterS - 26.11.2005 16:15)
        Re: Operationsgeschwindigkeit (von Dietmar - 26.11.2005 22:29)
            Re: Operationsgeschwindigkeit (von PeterS - 27.11.2005 0:20)
                Re: Operationsgeschwindigkeit (von Dietmar - 27.11.2005 8:16)