-         
+ Antworten
Ergebnis 1 bis 8 von 8

Thema: Ablaufgeschwindigkeit C/Basic?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    20.11.2003
    Beiträge
    8

    Ablaufgeschwindigkeit C/Basic?

    zuerst einmal: hallo *g*

    es würde mich interessieren ob ihr vielleicht wisst, welcher compiler, avr-gcc oder Bascom den schnelleren code erzeugt. ich würde nämlich gerne ein roboter bauen und diesen dann hauptsächlich über die serielle schnittstelle steuern. der controller hätte dann die aufgabe messdaten zu erfassen und diverse aktuatoren anzusteuern. ich habe in der schule schon ein jahr c und vb hinter mir, von diesem gesichtspunkt aus habe ich also kein wirkliches auswahlkriterium. das asm den schnellsten code erzeugt ist mir auch bewusst, allerdings möchte ich den langsam hinter mir lassen und wieder hochsprachen programmieren.
    also lange rede kurzer sinn: welcher compiler ist für diese aufgabe am geeignetsten?
    ich hoffe ihr könnt mir helfen.
    lg Bluegu

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    24.04.2004
    Ort
    Karlsruhe
    Alter
    38
    Beiträge
    1.277

    Re: Ablaufgeschwindigkeit C/Basic?

    Zitat Zitat von Bluegu
    zuerst einmal: hallo *g*
    es würde mich interessieren ob ihr vielleicht wisst, welcher compiler, avr-gcc oder Bascom den schnelleren code erzeugt. ich würde nämlich gerne ein roboter bauen und diesen dann hauptsächlich über die serielle schnittstelle steuern.[..]
    Hm, weis ich jetzt auch nicht so recht.
    Schreib doch einfach in beiden ein kleines Testprogramm welches ungefähr die gleichen Aufgaben erldeigt wie dein späteres.

    Dann guckst du welches Hexfile kleiner ist. Kleineres Hexfile -> weniger Anweisungen -> schnellerer Code...

    Ob das representativ ist kann ich dir leider nicht sagen ,-( Ich kann mir nicht vorstellen das es da einen erwähenswerten Unterschied gibt von dem deine Anwendung abhängen könnte. Messdaten würde ich sowieso per Interupt gesteuert aufnehmen, da gibst du die Intervalle a sowieso selbst ein...

    Gruß, Sonic

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    20.11.2003
    Beiträge
    8
    das habe ich auch schon überlegt, wäre auf jedenfall mal ein ansatz. danke für die antwort...
    mfg Bluegu

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.06.2004
    Alter
    28
    Beiträge
    234
    ich würd mal stark zu C tendieren, der Basic Compiler ist zwar schon ziemlihc gut und ausgereift, an den GCC wird es aber nicht herankommen.

    In selten Fällen wird das vielleicht anders sein, dass Basic überlegen ist aber das wird wirklich nur die Ausnahme sein.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    20.11.2003
    Beiträge
    8
    mhmm...
    ok, da ich schon ähnliche antworten gehört habe werde ich wohl c nehmen.
    eine frage hätte ich dann doch noch: kennt ihr ein empfehlenswertes terminalprogramm? wäre ganz hilfreich für mich.
    LG Bluegu

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    eine frage hätte ich dann doch noch: kennt ihr ein empfehlenswertes terminalprogramm? wäre ganz hilfreich für mich.
    Ein gutes kenn ich nicht, aber spielt das denn wirklich eine Rolle?

    Früher als man sich in verschiedene Mailboxen mit unterschiedlichen Nummern und Zugangsdaten eingeloggt hat, die dann alle unterschiedliche Emulationen, verschiedene Modem- und Übertragungseinstellungen brauchten, konnte einem ein gutes Terminalprogramm viel Arbeit und Tipperei abnehmen.

    Aber bei einem Microcontroller kann man doch mit den meisten der Funktionen die so ein Terminalprogramm hat gar nichts anfangen.

    Um ein paar Debug-Infos mitzulesen oder ein paar Befehle rüberzuschicken reicht doch meist auch ein ganz einfaches Terminalprogramm. In Bascom ist z.B. eins enthalten.

    Wenn es dann darum geht über die serielle Schnittstelle zu steuern und Daten zu erfassen, würde ich mir lieber selber ein Programm dafür basteln. Da du Visual Basic und C kannst, sollte das ja kein so grosses Problem sein. In einem eigenen Programm kann man die erfassten Daten wenigstens auch aufbereiten, anzeigen, speichern usw.

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    20.11.2003
    Beiträge
    8
    passt, dann hat sich das für mich auch erledigt. nochmals danke für die hilfestellungen.

    mfg Bluegu

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.03.2004
    Ort
    Paderborn
    Alter
    32
    Beiträge
    614
    Dann guckst du welches Hexfile kleiner ist. Kleineres Hexfile -> weniger Anweisungen -> schnellerer Code...
    Wenn es um die Güte des Compilers geht, stimmt das wohl. Bei GCC kann man allerdings sogar einstellen, wie der Compiler Codegröße gegen Geschwindigkeit abwägen woll, wenn mehr code mal schneller ist(z.B. könnte eine Zählschleife manchmal weniger Code machen als lauter Befehle hintereinander, aber langsamer sein.).
    PS: Selbst bei Optimierung auf Geschwindigkeit sind bei mir die GCC-Hexfiles meistens ein paar Byte kleiner als die von Bascom(obwohl ich mir auch nicht die Mühe gemacht hab', wirklich identischen Code zu schreiben - der Vergleich war halt nur ein Nebeneffekt des Umstiegs auf C.).
    it works best if you plug it (aus leidvoller Erfahrung)

+ Antworten

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •