Archiv verlassen und diese Seite im Standarddesign anzeigen : 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
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
das habe ich auch schon überlegt, wäre auf jedenfall mal ein ansatz. danke für die antwort...
mfg Bluegu
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.
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
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.
passt, dann hat sich das für mich auch erledigt. nochmals danke für die hilfestellungen.
mfg Bluegu
Gottfreak
12.07.2004, 14:39
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.).
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.