Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Benchmarks CCBASIC 2.0 vs. BASCOM-AVR Kategorie: Hardware (von Carsten - 21.10.2004 9:27)
 Als Antwort auf Re: Benchmarks CCBASIC 2.0 vs. BASCOM-AVR von Dietmar Harlos - 20.10.2004 20:50
Hallo Dietmar,

Kleine Verwechslung -  ich hab gefragt, nicht gemessen (ich hab keinen AVR mit Bascom). Daß reine Maschinensprache am schnellsten ist, versteht sich von selbst. Es ging mir eher um die Performance der 3 Varianten "out of the box" also mit der Grundausstattung an Bordmitteln und in Basic programmiert. (daher hab ich dem AVR den Bascom zugedacht als "state-of-the-art" Referenz)

Die technischen Details zur vorherigen C-Control waren trotzdem sehr interessant für mich.

Gruß Carsten


>
> Bei der alten C-Control (Version 1.1) wurden rund 85% der benötigten Ausführungszeit für die Interpretation und das Lesen der Token verschenkt. Besonders das Lesen der Token war ein extremes Nadelöhr - die C-Control verbrachte fast 60% ihrer Zeit mit dem Holen der Token aus dem EEPROM über den I²C-Bus! Wenn man beides ausschaltet und die entsprechenden Betriebssystemroutinen direkt, also innerhalb eines nach Maschinensprache kompilierten Programms, aufruft, werden BASIC-Programme immerhin siebenmal schneller ausgeführt. Das sich kein größerer Gewinn ergibt, liegt am Konzept der C-Control alle Berechnungen und Wertzuweisungen mit Hilfe eines sogenannten Rechenstacks auszuführen. Durch die konsequente Verwendung des Rechenstacks kann die C-Control auch komplexe Berechnungen durchführen, nur leider benötigt das Pushen und Poppen relativ viel Zeit. Der Rechenstack stellt sich als große Bremse heraus.
>
> Mit einem optimierten echten C-Control-Kompiler, der Programme nach Maschinensprache, statt in "Token" übersetzt, ergibt sich hingegen eine bis zu 250-fach höhere Ausführungsgeschwindigkeit! Solch ein Kompiler existiert bereits. Siehe CCBAS2MC in der Download-Area. Leider läßt sich der Kompiler *NICHT* auf der neuen C-Control einsetzen, da die Ausführung von Assemblerprogrammen bekanntlich unterbunden wurde!
>
> Der BASCOM sollte übrigens ähnlich gute Ergebnisse liefern, weshalb ich mir nicht erklären kann, wie Carsten eine nur 40-fach höhere Ausführungsgeschwindigkeit gegenüber der alten C-Control messen konnte. Besonders, da die Atmel-Controllern schneller getaktet werden und Dank RISC deutlich schneller sind. Es sei denn, der BASCOM erstellt nur relativ schlechte Kompilate.
>
> Gruß Dietmar
>

 Antwort schreiben

Bisherige Antworten: