Wishmaster
06-04-2008, 21:25
Hallo!
Im Prinzip möchte ich ein kleines Testprogramm schreiben, mit Hilfe dessen ich verschiedene Rechner auf ihre Geschwindigkeit bei Speicherintensiven Anwendungen testen kann.
Ich habe ein kleines Programm geschrieben, das mir 10-mal ca. 16 MB Speicher mit Zufallswerten füllt und anschließend 1000x verschiedene dieser Speicherstellen in andere kopiert.
Den Speicher habe ich mit "alloc()" reserviert und anschließend mit "rand()" und "srand()" mit Inhalt gefüllt, wobei es im Augenblick keinen Unterschied macht, ob da nun Inhalt drin steht oder nicht.
Das kopieren der Speicherstellen wird durch "memcpy()" durchgeführt.
Ich stelle allerdings fest, das der Kern, auf dem die Anwendung läuft, teilweise bis zu 100% belastet ist. Die CPU sollte aber eigentlich nicht der limitierende Teil (Bottleneck) des Tests sein. Meine Frage ist daher: Ist das normal oder habe ich einen gravierenden Denkfehler in dem Verfahren?
VG Wishy
Im Prinzip möchte ich ein kleines Testprogramm schreiben, mit Hilfe dessen ich verschiedene Rechner auf ihre Geschwindigkeit bei Speicherintensiven Anwendungen testen kann.
Ich habe ein kleines Programm geschrieben, das mir 10-mal ca. 16 MB Speicher mit Zufallswerten füllt und anschließend 1000x verschiedene dieser Speicherstellen in andere kopiert.
Den Speicher habe ich mit "alloc()" reserviert und anschließend mit "rand()" und "srand()" mit Inhalt gefüllt, wobei es im Augenblick keinen Unterschied macht, ob da nun Inhalt drin steht oder nicht.
Das kopieren der Speicherstellen wird durch "memcpy()" durchgeführt.
Ich stelle allerdings fest, das der Kern, auf dem die Anwendung läuft, teilweise bis zu 100% belastet ist. Die CPU sollte aber eigentlich nicht der limitierende Teil (Bottleneck) des Tests sein. Meine Frage ist daher: Ist das normal oder habe ich einen gravierenden Denkfehler in dem Verfahren?
VG Wishy