Thaxll'ssillyia
Captain
- Registriert
- Dez. 2007
- Beiträge
- 3.568
Tag, ich programmiere mit C# und hab mit der for-schleife ein Problem im Bezug auf die CPU-auslastung (hab einen Pentium D 2x3,4 GHz) ein Problem.
Die Anweisung beinhaltet, das die for-schleife 10000-mal wiederholt wird. In der Schleife als Anweisung befindet sich eine Berechnung mit Random, die durch ein Befehl an einen Label an den Bildschirm gebracht wird.
Ich stoppe die Zeit für die Berechnung (ca. 50 sec) und schau mir die CPU-Auslastung an, dabei fällt mir folgendes auf:
- Beide Kerne sind meißt zu jeweils 50% ausgelastet, es schwankt aber manchmal zu 30% der erste und 70% der andere Kern, die CPU-auslastung insgesamt wird nie größer oder kleiner 50% (während des Testes natürlich). Ich hab ja nichmal mit Multithreading gearbeitet, wieso 2-Kern-Untertützung und dann max. 50% Auslastung?
- Egal wieviel Berechnungen ich in die for-schleife mache, die Zeit bliebt immer die gleiche, es sind (zumindest auf diesem rechner) immer 50 sec, egal ob 1 Berechnung oder 100...
- Ich hab das Programm mal auf einem anderem Rechner laufen lassen, auf einem Laptop mit Pentium M 1,73 Ghz kam ich auf 55 sek, bei einem rechner mit Athlon 6000+ waren es nur 23 sek.. Also meiner Meinung nach ist der Pentium D deutlich schneller als ein Mobiler Pentium mit 1,73 GHz, das mit dem Athlon kann schon hinhauen...
- Hab mir gedacht, dass es eventuell an der label-Anweisung liegt, die den random an die Anzeige bringt. Hab sie gelöscht, selbe zeit...
Könnt ihr mir helfen?
Vielen Dank für Hilfe! Gruß AEROON
Die Anweisung beinhaltet, das die for-schleife 10000-mal wiederholt wird. In der Schleife als Anweisung befindet sich eine Berechnung mit Random, die durch ein Befehl an einen Label an den Bildschirm gebracht wird.
Ich stoppe die Zeit für die Berechnung (ca. 50 sec) und schau mir die CPU-Auslastung an, dabei fällt mir folgendes auf:
- Beide Kerne sind meißt zu jeweils 50% ausgelastet, es schwankt aber manchmal zu 30% der erste und 70% der andere Kern, die CPU-auslastung insgesamt wird nie größer oder kleiner 50% (während des Testes natürlich). Ich hab ja nichmal mit Multithreading gearbeitet, wieso 2-Kern-Untertützung und dann max. 50% Auslastung?
- Egal wieviel Berechnungen ich in die for-schleife mache, die Zeit bliebt immer die gleiche, es sind (zumindest auf diesem rechner) immer 50 sec, egal ob 1 Berechnung oder 100...
- Ich hab das Programm mal auf einem anderem Rechner laufen lassen, auf einem Laptop mit Pentium M 1,73 Ghz kam ich auf 55 sek, bei einem rechner mit Athlon 6000+ waren es nur 23 sek.. Also meiner Meinung nach ist der Pentium D deutlich schneller als ein Mobiler Pentium mit 1,73 GHz, das mit dem Athlon kann schon hinhauen...
- Hab mir gedacht, dass es eventuell an der label-Anweisung liegt, die den random an die Anzeige bringt. Hab sie gelöscht, selbe zeit...
Könnt ihr mir helfen?
Vielen Dank für Hilfe! Gruß AEROON