Ich weiß nicht woran es liegt, aber früher war das überhaupt nicht so. Wenn ich kleine Programme kompiliere, dann ist es eine ziemlich abgeschlossene Sache. Jedoch wenn ich einlese und rechne auch wenn es nur 20 Zeilen sind, dann dauert es so 15 Sekunden bis das Programm läuft. Ich verwende den GNU GCC Compiler und weiß einfach nicht woran es liegen könnte. Alle Optimierungen sind schon von Codeblocks automatisch deaktiviert und ich kann nur mehr auf euch zählen... Es tut weh wenn das so lange dauert... Danke schonmal
Karl schrieb: > Wenn ich kleine Programme kompiliere, dann ist es eine ziemlich > abgeschlossene Sache. Jedoch wenn ich einlese und rechne auch wenn es > nur 20 Zeilen sind ... Was magst Du damit meinen? Was ist für Dich im Zusammenhang mit dem Compilieren von Programmen "einlesen und rechnen"?
1 | #include <stdio.h> |
2 | |
3 | int main(int argc, char *argv[]) |
4 | {
|
5 | printf("Hello, world!\n"); |
6 | return 0; |
7 | }
|
Erstes Mal: $ time gcc -Wall -o Prog x.c real 0m0.869s user 0m0.080s sys 0m0.048s Zweites Mal: $ time gcc -Wall -o Prog x.c real 0m0.068s user 0m0.060s sys 0m0.012s Auf hundert Zeilen erweitert ändert sich nichts Signifikantes!
Norbert schrieb: > Auf hundert Zeilen erweitert ändert sich nichts Signifikantes! Ich denks mir eh, Norbert schrieb: > #include <stdio.h> > > int main(int argc, char *argv[]) > { > printf("Hello, world!\n"); > return 0; > } Bei mir dauerts beim ersten mal: 0.296 s Beim zweiten mal: 0.047 Sekunden Jedoch das da z.B.:
1 | #include <stdio.h> |
2 | #include <stdlib.h> |
3 | #include <math.h> |
4 | |
5 | #define LEERE_EINLESE_PUFFER while(getchar() != '\n')
|
6 | |
7 | long readNumber(); |
8 | long factorial(long ganzeZahl); |
9 | double my_cosh(double x, long n); |
10 | |
11 | int main() |
12 | {
|
13 | printf("Hello, world!\n"); |
14 | printf("Hello, world!\n"); |
15 | printf("Hello, world!\n"); |
16 | printf("Hello, world!\n"); |
17 | printf("Hello, world!\n"); |
18 | printf("Hello, world!\n"); |
19 | return 0; |
20 | }
|
21 | |
22 | //UNTERPROGRAMME********************************************************************
|
23 | |
24 | double my_cosh(double x, long n){ |
25 | int i = 0; double cos_erg = 1; |
26 | |
27 | }
|
28 | |
29 | long readNumber(){ |
30 | long number; |
31 | scanf("%ld", &number); |
32 | LEERE_EINLESE_PUFFER; |
33 | return number; |
34 | }
|
35 | |
36 | long factorial(long ganzeZahl){ |
37 | long fakultaet = ganzeZahl; |
38 | |
39 | if(ganzeZahl < 0) |
40 | return 0; |
41 | else if(ganzeZahl == 0) |
42 | return 1; |
43 | else{ |
44 | for( ;ganzeZahl > 1 ; ganzeZahl--){ |
45 | fakultaet = fakultaet * (ganzeZahl-1); |
46 | printf("Fakultät: %ld\n", fakultaet); |
47 | }
|
48 | return fakultaet; |
49 | }
|
50 | }
|
dauert bei mir um die 20 Sekunden beim ersten mal. Beim zweiten mal keine 0.8 Sekunden. Wenn ich aber ein Leerzeichen im Code dazugebe, dann wieder 20 Sekunden... ja natürlichw weil alles neu übersetzt wird, aber das kanns ja nicht sein...
Das sollte es eigentlich sein:
1 | #include <stdio.h> |
2 | #include <stdlib.h> |
3 | #include <math.h> |
4 | |
5 | #define LEERE_EINLESE_PUFFER while(getchar() != '\n')
|
6 | |
7 | long readNumber(); |
8 | long factorial(long ganzeZahl); |
9 | double my_cosh(double x, long n); |
10 | |
11 | int main() |
12 | {
|
13 | long zahl, ergebnis; |
14 | |
15 | printf("Geben Sie eine ganze Zahl ein:>"); |
16 | zahl = readNumber(); |
17 | printf("\n***Sie gaben ein %ld\n\n", zahl); |
18 | |
19 | ergebnis = factorial(zahl); |
20 | printf("Die Fakultaet der eingegebene Zahl ist: %ld", ergebnis); |
21 | return 0; |
22 | }
|
23 | |
24 | //UNTERPROGRAMME********************************************************************
|
25 | |
26 | double my_cosh(double x, long n){ |
27 | int i = 0; double cos_erg = 1; |
28 | |
29 | }
|
30 | |
31 | long readNumber(){ |
32 | long number; |
33 | scanf("%ld", &number); |
34 | LEERE_EINLESE_PUFFER; |
35 | return number; |
36 | }
|
37 | |
38 | long factorial(long ganzeZahl){ |
39 | long fakultaet = ganzeZahl; |
40 | |
41 | if(ganzeZahl < 0) |
42 | return 0; |
43 | else if(ganzeZahl == 0) |
44 | return 1; |
45 | else{ |
46 | for( ;ganzeZahl > 1 ; ganzeZahl--){ |
47 | fakultaet = fakultaet * (ganzeZahl-1); |
48 | printf("Fakultät: %ld\n", fakultaet); |
49 | }
|
50 | return fakultaet; |
51 | }
|
52 | }
|
Karl schrieb: > dauert bei mir um die 20 Sekunden beim ersten mal. Beim zweiten mal > keine 0.8 Sekunden. > > Wenn ich aber ein Leerzeichen im Code dazugebe, dann wieder 20 > Sekunden... ja natürlichw weil alles neu übersetzt wird, aber das kanns > ja nicht sein... $ time gcc -Wall -o Prog x.c x.c: In function ‘my_cosh’: x.c:25: warning: unused variable ‘cos_erg’ x.c:25: warning: unused variable ‘i’ x.c:27: warning: control reaches end of non-void function real 0m0.241s user 0m0.076s sys 0m0.028s $ time gcc -Wall -o Prog x.c x.c: In function ‘my_cosh’: x.c:25: warning: unused variable ‘cos_erg’ x.c:25: warning: unused variable ‘i’ x.c:27: warning: control reaches end of non-void function real 0m0.087s user 0m0.068s sys 0m0.024s Hast du Performance Probleme mit deinem Dateisystem? Welches OS?
Norbert schrieb: > Hast du Performance Probleme mit deinem Dateisystem? > Welches OS? Windows 8 Prof, neu aufgesetzt. Manchmal friert es ein, aber ich denke das ist ein generell bekanntes Problem, und hat nichts samit zu tun... Sonst rennt es viel viel schneller als Win7 und ich habe keine Probleme mit Performance bei Matlab, etc..., außer bei CodeBlocks. An was kann es denn liegen?
Karl schrieb: > Norbert schrieb: >> Hast du Performance Probleme mit deinem Dateisystem? >> Welches OS? > > Windows 8 Prof, neu aufgesetzt. > Manchmal friert es ein, aber ich denke das ist ein generell bekanntes > Problem, und hat nichts samit zu tun... > > Sonst rennt es viel viel schneller als Win7 und ich habe keine Probleme > mit Performance bei Matlab, etc..., außer bei CodeBlocks. > > An was kann es denn liegen? Ich fürchte, da bin ich der falsche Ansprechpartner ;-) Nutze seit einem Jahrzehnt nur Linux. Aber bei Windows fällt mir sofort Indexdienst und Virenscanner ein. Wie sieht's denn direkt von der Kommandozeile ohne Codeblocks aus?
Norbert schrieb: > Wie sieht's denn direkt von der Kommandozeile ohne Codeblocks aus? Leider schlecht, sowohl mit der powershell via gccca 8 Sekunden bei einem anderen kleineren Programm. Aber jetzt komme ich gerade drauf, dass nur das Starten der Exe datei so lange dauert.
Hmmm, braucht der gcc unter Widows immer noch die MinGW / cygwin
Umgebung?
Ist das nicht noch 32bit Technik?
Eventuell von 32bit auf 64bit Windows8 gewechselt?
> Nach dem ersten mal geht es aber auch ziemlich fix...
Klar, nach dem ersten Start sollte das Gelumpe im RAM cache sein und die
Kompilierzeiten sich im Millisekundenbereich bewegen.
Wir reden hier ja nicht von Raumfahrttechnik. ;-)
Ich nehme an die Harddisk ist zumindest an einigen Stellen kaputt, z.B. wo der der Compiler gespeichert ist.
Norbert schrieb: > Eventuell von 32bit auf 64bit Windows8 gewechselt? siehe Bild Norbert schrieb: > Hmmm, braucht der gcc unter Widows immer noch die MinGW / cygwin > Umgebung? Ja!
Das Neukompilieren in der Powershell funktioniert sehr schnell. Jedoch wenn ich schreibe: prog.exe dann dauert es und dauert und irgendwann startet es
Norbert schrieb: > Wir reden hier ja nicht von Raumfahrttechnik. ;-) Stimmt. Sondern von Window$! fonsana
Karl schrieb: > Jedoch > wenn ich schreibe: prog.exe dann dauert es und dauert und irgendwann > startet es Dann schreib das nicht. fonsana
Michael S. schrieb: > Ich nehme an die Harddisk ist zumindest an einigen Stellen kaputt, z.B. > wo der der Compiler gespeichert ist. Hmm, sollte ich mal versuchen den Compiler auf einer anderen disk zu installieren? Was hat das aber mit dem comoiler zu tun, wenn der erste Programmstart so lange braucht? Das kompilieren funktioniert ziemlich schnell nur das erste mal starten dauert ewig
Karl schrieb: > Das Neukompilieren in der Powershell funktioniert sehr schnell. Jedoch > wenn ich schreibe: prog.exe dann dauert es und dauert und irgendwann > startet es Ahhh, nicht der Compiler ist langsam, sondern das 'Kompilat'! Damit ändern sich inode und die create-time oder wie auch immer so etwas bei NTFS heisst. Hast du evtl. einen Virenscanner der (Hash)Signaturen von Programmen live/online prüft?
Knigge schrieb: > Hast du evtl. einen Virenscanner der (Hash)Signaturen von Programmen > live/online prüft? Ich habe Kaspersky Internez Security
Karl schrieb: > Knigge schrieb: >> Hast du evtl. einen Virenscanner der (Hash)Signaturen von Programmen >> live/online prüft? > > Ich habe Kaspersky Internez Security * Durch die Kombination von Cloud-basierten Funktionen und leistungsstarken Sicherheitstechnologien, die auf dem PC ausgeführt werden... * Das cloud-basierte Kaspersky Security Network sammelt weltweit Daten von Millionen teilnehmender Benutzersysteme Toll, sowas will ich für mein System auch ;-) Versuch doch mal die Kasperei temporär zu deaktivieren und schau ob man dann mit dem Rechner arbeiten kann...
Norbert schrieb: > Versuch doch mal die Kasperei temporär zu deaktivieren und schau ob man > dann mit dem Rechner arbeiten kann... Du hast recht. Das war das Problem!! Kaspersky findet aber ab und zu doch VIren im Internet und fangt sie ab im Gegensatz zu Avira etc.. Das ist meine Erfahrung. Bleibt nur noch die Frage wie ich diese Programmüberwachung ausschalte
Das Programm aus der Liste zu löschen nutzt anscheinend nichts... Nur wenn ich Kaspersky ganz beende funktioniert es, das ist jetzt aber blöd!
Kennt sich irgendwer mit KP aus? Ich habe alle Programme aus der Liste entfernt und trotzdem dauert es lange bis es startet, nur wenn ich kaspersky beende dann geht es sehr schnell. Keiner so ein Problem vorher gehabt?
Das ist wohl die neue Strategie bei der Abwehr von Trojanern: Den Rechner so langsam und damit unattraktiv zu machen, dass sich die Schädlinge mit Grausen abwenden und woanders ihr Heil suchen.
Karl schrieb: > Das Programm aus der Liste zu löschen nutzt anscheinend nichts... Nur > wenn ich Kaspersky ganz beende funktioniert es, das ist jetzt aber blöd! Ich hätte noch ein paar Lösungen anzubieten, die fangen aber mit 'fdisk' und 'format' an und dann gibt's hier wieder Meckerei;-) Es ist aber interessant, das sich in den letzten zehn Jahren anscheinend nichts geändert hat. Man braucht in der WinWelt ständig dickere CPUs und mehr RAM und mehr Festplattenspeicher und mehr ${X}, um sich dann von Virenscannern/Indexierern usw. wieder auf Geschwindigkeiten im Angström/Woche Bereich einbremsen zu lassen. <Blaulicht> ...ACHTUNG: Alles was sie sagen kann und wird vor Gericht gegen sie verwendet...
Welcher dieser Schütze(LOL) muss ich denn deaktivieren? Programmkontrolle hat nicht funktioniert...
Norbert schrieb: > * Das cloud-basierte Kaspersky Security Network sammelt weltweit Daten > von Millionen teilnehmender Benutzersysteme Klingt nach NSA auf Russisch. ;-)
Okey, hab da mal das ganze näher untersucht, und komme auf den Schluss dass die Firewall von Kaspersky alles verlangsamt!! Alle anderen Dinge wie Programmkontrolle etc. spielen keine Rolle. Allein die Firewall macht probleme im 15 Sekunden Bereich. Wer empfiehlt mir die Firewall zu deaktivieren?
Wär eher die Frage, was die Firewall mit deinem Compiler oder dem Kompilat zu tun hat. Wenn andererseits der Kaspersky bei jedem Programm, dessen Signatur er noch nicht kennt, erst einmal den Big Brother irgendwo in der Weltgeschichte konsultiert, dann sind Kaspersky und Programmentwickler natürliche Gegner. Zumindest solange, bis man dem Kaspersky beibringt, die betreffenden Verzeichniss in Frieden zu lassen.
Hahahaha ich deinstallier es eh gerade... avg wird in zukunft die Aufgabe übernehmen! Ich hoffe es enttäuscht mich nicht. Irgendwelche besseren alternativen eurerseits?
Vermutlich wurde SmartScreen durch die Firewall ausgebremst: http://en.wikipedia.org/wiki/SmartScreen#SmartScreen_in_Windows_8
Wir dürfen uns hier auf Arbeit auch mit diesem russischen Virus herumschlagen. Da passierts schon mal, dass der Compiler ungefragt im Quarantäneorder landet (trotz Ausnahmeregeln etc.) und man sich wundert, wieso das make-Skript nicht will. Und wenn dann die wöchentliche gründliche Festplattenüberprüfung ansteht kann die ganze Abteilung eigentlich nur noch geschlossen Kaffee trinken gehen :-) Alternativen kann ich dir leider nicht empfehlen. Als ich daheim noch Windows drauf hatte hab ich auch verschiedene Virenscanner probiert. Norton spielt in der selben Liga wie Kaspersky, was Gängelung und Ressourcenverschwendung betrifft. Die kostenlosen Alternativen (Avira etc.) halte ich für Unnütz. Grundsetzlich alles, was eine Toolbar (Ask etc.) installieren will scheidet schonmal aus Prinzip aus. Vom Hörensagen sollen die MS Security Essentials recht gut sein. Wieso auch nicht, die kennen ja hoffentlich ihr System am besten :-)
le x. schrieb: > Vom Hörensagen sollen die MS Security Essentials recht gut sein. Wieso > auch nicht, die kennen ja hoffentlich ihr System am besten :-) Die Essentials stören das System weniger, das stimmt. Aber die Viren und Trojaner stört es leider auch weniger, entsprechenden Tests zufolge. McAfee wiederum hat die leidige Angewohnheit, beim Update der Signaturen locker mal 0,5GB RAM wegzufressen und auf älteren Kisten kann das auch mal ein paar Minuten Sendepause bedeuten.
Ich frage mich gerade, wie die Entwickler bei Kaspersky dann arbeiten? Die kompilieren ja auch! Also vermute ich, daß es irgendwo Ausnahmeregeln einzustellen möglich ist. Nur finden wo, tja, kann bei Windoof dauern... Häng das Ding vom Netz und arbeite einfach so.
> Häng das Ding vom Netz und arbeite einfach so.
Besser:
Bau Dir eine VM und mache darin Deine Software-Entwicklung, ohne
Netzwerkanbindung und natürlich dann auch ohne Virenscanner o.ä.
A. K. schrieb: > Aber die Viren und > Trojaner stört es leider auch weniger, entsprechenden Tests zufolge. > Quelle?
Abdul K. schrieb: > Ich frage mich gerade, wie die Entwickler bei Kaspersky dann arbeiten? > Die kompilieren ja auch! > Also vermute ich, daß es irgendwo Ausnahmeregeln einzustellen möglich > ist. Nur finden wo, tja, kann bei Windoof dauern... Das ist keine Systemeinstellung ;-) How to manage exclusion rules in Kaspersky Internet Security 2013 http://support.kaspersky.com/8742 > Häng das Ding vom Netz und arbeite einfach so. Eine VM ist da deutlich komfortabler A. K. schrieb: > le x. schrieb: >> Vom Hörensagen sollen die MS Security Essentials recht gut sein. Wieso >> auch nicht, die kennen ja hoffentlich ihr System am besten :-) > > Die Essentials stören das System weniger, das stimmt. Aber die Viren und > Trojaner stört es leider auch weniger, entsprechenden Tests zufolge. Gibt's einen Virenscanner der bei unbekannten Sachen 100% erkennt? Vor ein paar Wochen kam hier mal eine ziemlich gut gemachte Spam-Mail mit einem PDF-Anhang durch (nicht gezipped oder ähnliches)... Dreimal raten wieviele der >40 Scanner auf Virustotal.com zu dem Zeitpunkt was erkannt haben: Ein einziger, die anderen folgten z.T. >1 Tag später! Ein paar Tage später ähnliches Bild, nur waren es diesmal andere Scanner die zuerst anschlugen. Da macht sich eine VM auch ganz gut...
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.