Unerwartet hohe CPU-Last

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Mr. Anderson
Beiträge: 16
Registriert: 19.11.2005 12:17:07

Unerwartet hohe CPU-Last

Beitrag von Mr. Anderson » 06.12.2005 02:50:39

Hallo,

mir ist eben etwas Eigenartiges aufgefallen. Ich habe eben an einem C++-Programm gebastelt, in dem noch ziemlich viele Bugs sind.
Einige Objekte werden bei bestimmten Aktionen nicht zerstört. Dabei kann man die gleiche Aktion sowohl auf zwei Objekten als auch auf bis zu 731 Objekten gleichzeitig ausführen. Mit 731 Objekten ensteht pro Sekunde und pro Objekt annähernd so viel Speichermüll wie für die zwei Einzelnen. Das heißt, es wird mit maximal vielen Objekten etwa 300 Mal so viel Speicher pro Sekunde gekillt wie mit zwei Objekten. Das lässt sich durch Messungen bestätigen. Die Speicherreservierung geht für diese Objekte über die gleichen Mechanismen.
Trotzdem:
Mit allen 731 Objekten läuft es so flüssig wie mit 2 Objekten. Top geht auf 80% CPU-Last. Die Musik läuft aber ohne Aussetzer weiter.
Mit 2 Objekten: Nur ein Bruchteil der Arbeit, aber top zeigt eine CPU-Last von fast 100% und geht schließlich in die Knie und aktualisiert selten bis gar nicht mehr. Die Musik verabschiedet sich und auch sonst kein anderer Prozess läuft normal weiter.

Wo kann so etwas herrühren?

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 06.12.2005 07:36:41

morgen... puh also ohne direkt den Code zu sehen ists recht schwer dazu etwas zu sagen..
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Mr. Anderson
Beiträge: 16
Registriert: 19.11.2005 12:17:07

Beitrag von Mr. Anderson » 06.12.2005 17:29:47

Hm. ok. Die Frage war n bissl dämlich. Der Code ist keineswegs geheim, sprengt aber vom Umfang wirklich den Rahmen des Forums.
Den Bug hab ich außerdem sowieso schon beseitigt. Jetzt tritt das Problem nicht mehr auf. Scheint so als gäbe es Probleme, wenn in sehr kurzen Abständen kleine Mengen RAM benötigt werden. Vielleicht komme ich demnächst mal dazu, ein kleines Testprogramm zu schreiben, mit dem sich das rekonstruieren lässt.

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 06.12.2005 21:10:20

valgrind ist für solche Sachen sehr nützlich.

Antworten