Bascom Compiler Geschwindigkeit

Gast #353020
Lesenswert?

Hallo,
ich programmiere mit Bascom 1.11.8.2.
Leider dauert das compilieren für eine Programmgröße von ca.
9000 Byte etwa 70 Sekunden. Da mein Programm noch erheblich
größer werden wird, und diese Zeit schon jetzt sehr unangenehm ist,
würde mich interresieren, wie man den Compiliervorgang beschleunigen
kann (ausser einem Schnelleren PC).
LIB Files kann ich nicht verwenden, da meine Programmteile nur in
Basic vorliegen.
Kennt einer einen direkten Vergleich zum GCC im bezug auf die
Compiliergeschwindigkeit. Wenn dieser erheblich schneller ist,
würde ich vieleicht noch auf C umsteigen.

viele Grüße

Jürgen
#353021
Lesenswert?

70 Sekunden?? Ich bastel gerade an einem Programm, das gerade so auf den
Atmega88 passt und kann das ganze innerhalb von 6 Sekunden compilieren,
obwohl mein PC mit einem XP 2500+ wohl auch nicht mehr aktuellster
Stand ist.

Darf ich fragen, wie die Eckdaten deines PCs so aussehen? Diese Zeit
ist schon extrem ungewoehnlich - auch fuer Bascom.

Beste Gruesse
#353023
Lesenswert?

Das duerfte effektiv leider wenig bringen, zumal die standardmaessig
schon aus ist, wenn ich nicht irre. Bei 70 Sekunden machen 5 mehr oder
weniger einfach nichts mehr aus.

Wenn es so extrem langsam compiliert, tippe ich eher auf einen arg
langsamen PC. Ob das mit C dann viel besser wird, weiss ich nicht. Kann
es mir aber nur schwer vorstellen, da der Compiler bei C ja eher mehr
"nachdenkt".

Beste Gruesse,
André
Gast #353024
Lesenswert?

Hallo André,
Pentium 266MHz, 64Mb Ram.
Delphi 5 braucht für mehrere KB Programmgröße auf diesem Rechner
auch nur einige Sekunden.
Vieleicht denken die Compiler auch nur zu langsam.

Ich hatte so ein Problem auch schon einmal mit einer Fakturierungs-
software:
Programm 1 braucht zum einlesen von 200k Artikeldatensätzen
24h, kostete 3k Euro
Programm 2 braucht für die "gleiche Arbeit" 10min, kostete 1k Euro.
Gleiche Arbeit in Anführungszeichen, da ich nicht weis, ob es die
Gleiche ist, nur das Ergebnis war für mich in das Gleiche.

viele Grüße

Jürgen
Gast #353027
Lesenswert?

Versuchs statt mit BASCON mal mit FastAVR. Das hats bei mir auch noch
auf nem uralten Thinkpad mit 133MHz noch prima getan und was rauskommt
ist auch noch um Längen schneller als das, was BASCOM zusammencomiliert
hat. Zusätzlich bekommt man bei FastAVR noch ein Assemblerlisting, was
ggf nötige Optimierungen "von Hand" mächtig vereinfacht. Ausserdem
kann man so überprüfen wie sinnvoll der Compiler arbeitet.

bye

Frank
#353030
Lesenswert?

Also ich hab, wie oben schon geschrieben, einen Athlon XP 2500+. Dazu
512MB RAM. Der ganze andere Kram sollte auf die Geschwindigkeit wohl
keinen grossen Einfluss haben.

In dieser Region bekommst jetzt wahrscheinlich schon Aufruestkits um
50-70EU. Gehaeuse etc. koenntest ja alles behalten.

Alternativ eben auf Fastavr o.ae. umsteigen, wobei ich persoenlich
Bascom doch etwas besser finde.

Beste Gruesse,
André
#353032
Lesenswert?

In diesem konkreten Fall: ja.

Aber Rolf hat schon recht. Kein Schwein macht sich heute
mehr die Mühe groß an Algorithmen zu feilen bzw. überhaupt
einen dem Problem angemessenen Algorithmus auszuwählen.
Das wird heutzutage allzuoft mit schierer Rechenpower erschlagen.
(von Programmierern die wahrscheinlich noch nie in einer
Vorlesung 'Algorithmen und Datenstrukturen' waren. Genauso sehen
dann auch ihre Programme aus.)

Versuch doch mal einen simplen Maustreiber oder Keyboardtreiber
vom Netz zu holen. Da hast du schnell mal eine Zip-Datei mit
15Mb in der Hand. Was Microsoft mit all dem Speicher für das
Betriebssystem macht ist mir ein vollkommenes Rätsel. Wenn
du früher ein BS ausgeliefert hättest, dass mehr als 2 Mb an
Plattenplatz verbraucht, wärest du gesteinigt worden.
Gast #353036
Lesenswert?

Hallo,

ich habe es jetzt auf einem Pentium D mit 3GHz und 1GB Ram probiert.
Ergebnis: ca. 10 Sekunden für mein Programm (6% vom Mega128).
Das kommt dan auch auf die 2-3 min von Bucho.
Nachteil: PC nicht portable, Stomaufnahme ca. 300W(reicht zur Heizung
meines Büros im Winter)

Mich würde noch interresieren wie lange AVR-GCC zum compilieren
braucht.

Da ich fast nach jeder Änderung im Programm neu compiliere fallen
die zu erwartenden 2-3 min schon ziemlich ins Gewicht.
Bei meinem Notbook wären das dann über 10 min.
Schade, das sich die Programmierer des Compilers nicht mehr Mühe
gegeben haben.
Gast #353040
Lesenswert?

Hallo,
die Erfahrung mit den Virenscannern habe ich schon im Zusammen-
hang mit anderen Programmen gemacht und deshalb keinen mehr
installiert.
Ich kann deshalb nicht ausschließen das mein System von einem
Virus befallen ist,was ich aber nicht annehme.
So wie es in den obigen Berichten steht, ist die compilierzeit
umgerechnet auf meinen Rechner scheinbar normal.

Jürgen
Gast #353042
Lesenswert?

Du scheinst wohl den Compiler nach jeder halben Programmzeile zum
Syntaxchecken zu benutzen?

Dann haut die Compilierungszeit natürlich unangenehm rein.....

Ich habe vor 1,5 Jahrzehnten bei IBM in Dallas einmal eine Prüfung auf
Großrechnerarchitektur absolvieren müssen.
Vorbereitungszeit ca. 1 Jahr.
Wir durften den Compiler dabei maximal 4 mal starten (bei ca. 500
Programmzeilen !), da schaut man denn schon sehr intensiv auf seine
Programmzeilen.

Manchmal sogar wie's Schweiner'l ins Uhrwerk !


Jasmin
Gast #353043
Lesenswert?

Hallo Jasmin,

nicht nach jeder halben Zeile, aber viel mehr als fünf werden es
meistens nicht. Ich bin kein Profi und die meisten Befehle und deren
Syntax muß ich erst probieren. Mein ganzes Programm hat nicht viel
mehr als 500 Zeilen.
Ich kann mir nicht Vorstellen 100 Zeilen Programmtext am Stück zu
schreiben, der dann auch noch das macht, was ich mir Vorstelle.
Von den Tippfehlern einmal ganz abgesehen.
Trotzdem nervt es ziemlich ein oder zwei Minuten zu warten, wenn man
auf das Ergebnis gespannt ist.
Gibt es in Bascom eine Möglichkeit Funktionen und Proceduren die in
Basic geschrieben sind, als compilierte Programmteile(Objekte) einzu-
binden. LIB geht laut Beschreibung nur mit ASM.

Gruß Jürgen
Gast #353044
Lesenswert?

Also das Bascom langsam ist kann ich nicht bestätigen.

Auf meinen normalen eher schon veralteten PC´s könnte ich mich nicht
über die Geschwindigkeit beklagen.

Einzig auf meinen ganz alten 486 Laptop dauert die Übersetzung etwas
längeeer. (aber der gehört ja auch heutzutage nichtmehr zu
"Computern")

Somit würde ich eher auf eine störende Einflußquelle wie den bereits
erwähnten Virenscanner oder etwas derartiges tippen.
Hast du mal wie oben beschrieben in den Taskmanager geguckt?

Also auch bei meinen größten Programmen (mit >8kb)hat es eigentlich nie
länger als eine halbe Minute gedauert.

freundlichst
Sebastian
Gast #353047
Lesenswert?

Natürlich sollte man bei so alten Rechnern dafür sorgen, dass unnötige
Ressourcenfresser abgeschaltet sind. Permanente Virenscanner zählen
hier natürlich dazu, aber auch windowseigene Sachen, wie grosse
Hintergrundbilder und jede Menge Sounds. Mit Hilfe des Taskmanagers
kann man sich einen guten Eindruck verschaffen was da so im Hintergrund
noch so alles mitläuft und vom Rechner zum Teil unnötigerweise
Kapazitäten verlangt. Meinem alten 133 MHz Denkbrett hab ich z.B. die
IRDA abgeschaltet wenn ich sie nicht brauchte und Viren wurden nur
manuell gesucht. Dazu ein einfarbiger Hintergrund und alle Sounds
abgeschaltet, alle unnötigen PCMCIA Karten raus und auch irgendwelche
Synchonisierungsprogramme für Handy, PDA und Sonstiges werden nur bei
Bedarf gestartet. Dann klappts auch mit BASCOM und auch anderen
Entwicklungsumgebungen. Der Sinn dahinter ist, so viel Speicher wie
möglich für den Compiler nutzen zu können, ohne dass das Betriebssystem
ins permanentswappen gerät. Wenn das passiert kommt es zu elend langen
Compilerzeiten, da die Plattenauslagerung immernoch die langsamste
Variante ist.

bye

Frank

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren