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
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
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é
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
Hallo, ich habe es einmal mit und einmal ohne Codeoptimierung versucht und konnte keinen messbaren Unterschied feststellen. Messmittel: Uhr mit Sekundenanzeige, Augen, Finger, Gehirn Der Mega88 hat 8K Flash, das ist auch etwa meine Programmgröße. 6 Sekunden wären super, was hast du für einen PC André ? Jürgen
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
Naja, viele Programmierer von PC-Software kümmern sich heute kein Bischen um Effizienz, weil die heute so viel Rechenpower und Speicher haben, daß das da nicht mehr so wichtig ist. Da denkt einfach keiner mehr daran, daß jemand noch mit einem Computer mit weniger als 2GHz Takt und 1GB RAM arbeiten könnte.
http://www.mcselec.com/index.php 'Pentium 266MHz, 64Mb Ram' ... Win 98SE oder Win95 ? Man sollte Verständnis haben, daß die Software-Hersteller moderne Software = Bascom 1.11.8.2 nicht mehr für alte Hardware optimieren.
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é
> Naja, viele Programmierer von PC-Software kümmern sich heute kein > Bischen um Effizienz, ... Sind es nicht eher die Anbieter der Compiler bzw. "Programmier-Programme"? ;-) ...
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.
Moin Jürgen, also hier ist ein voller Mega8 in 4sec fertig compiliert, mit Bascom 1.11.8.3, AMD 2800+ und 1GB RAM, nix dolles also. In Bascom habe ich nichts verändert, nur Standarteinstellungen, ach ja, Optimize Code ist eingeschaltet und alle Daten wie Quarz, LCD etc sind im File deklariert! mfg Oliver
Einfach mal den Taskmanager einschalten und sehen, ob Bascom wirklich nahe 100% CPU-Last braucht. Bei mir ist zur Zeit das längste das Flashen des Chips, da ich mit nem P89C668 arbeiten muß und der pro Page 10s Löschzeit benötigt (50s insgesamt). Peter
Hallo! Bei mir braucht Bascom für ein Programm, daß 60% des Mega128 belegt 2-3 Minuten. Ich habe einen Pentium 4 mit 2,8 GHz. Weis auch nicht, warum das so lange dauert, aber ich kann damit leben. Gruß
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.
Na das ist ja wirklich langsam. Der ARM-GCC braucht auf meinem 1.3 GHz G4 Notebook für den MP3-Player-Code (53 Dateien, ergibt 120 kB Flash) nur 30 Sekunden.
>Schade, das sich die Programmierer des Compilers nicht mehr Mühe
gegeben haben.
Naja, also so würd ich des net sagen, mein Bascom ist echt fix!
Die Frage nach dem Virenscanner hatte ich nicht umsonst gestellt. Ein onlinevirenscanner, der jede Aktivität aller Programme überwacht, bremst selbst schnelle PCs heftig aus. Auf so einem alten Müllhaufen (pII266 ohne Speicher) ist das erst recht bedenklich.
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
> Mich würde noch interresieren wie lange AVR-GCC zum compilieren > braucht. Die Compilierzeiten sind eigentlich relativ uninteressant, da in C anders gearbeitet wird. Man compiliert selten ein komplettes Programm in einem Rutsch. Viel interessanter sind die Linkzeiten. Bisher konnte ich nicht klagen.
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
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
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
Habt Ihr seinen Post genau gelesen: Er hat einen P266 mit 64MB - das ist nach heutigen Maßstäben extrem langsam. Da kann es schon sein, daß moderne Software sehr langsam läuft ... Faktor 10 für die CPU und Faktor 2-50 für den Speicher sind hier leicht vorstellbar. Gruß, Marcus
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
Hallo, ich habe eben das Update auf Version 1.11.8.3 gemacht. Jetz braucht die Compilierung nur noch 28 Sekunden, also deutlich weniger als die Hälfte von Version 1.11.8.2 (70 Sekunden). Wenn die so weiter machen, dann wird es noch richtig flott; auch auf meiner alten Kiste. Viele Grüße Jürgen
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.