Programmieren - alles kontrollieren 4.946 Themen, 20.742 Beiträge

Zeit für Integer/Floatrechnungen

RyoOhki / 28 Antworten / Flachansicht Nickles

Eine Frage zur Berechnung von Integer und Float werten unter C++:

sollte ein Programm länger brauchen, zwei Float zu addieren (z.B. via Add = 0,1 + 0,1) als zwei integerwerte (Add2 = 1 + 1 ) zu addieren, da es sich um Flieskommberechnungen handel?

ich habe ein Programm geschrieben das beide opperationen 40000000000mal ausführt und die zeit dafür stoppt, erhalte aber bei beiden beinahe identische Werte.

Ich meine, sollte ein PC Flieskommazahlen nicht langsammer berechnen können als Integerzahlen?

Grüße,
Ryo

bei Antwort benachrichtigen
mr.escape label „Cache /Pipelineing /Register“
Optionen

>Wenn Du experimentell den Unterschied zwischen Floating-Point und Integer-Addition am besten messen willst, dann schreib ein Programm, daß ein großen Array mit Zufallswerten füllt (jeweils int bzw. double, am besten > 100.000 Werte, damit es keinen Cache-Effekt gibt) und addiere die Werte einmal zufällig und einmal sequentiell (der Reihe nach). So hast Du ein gutes Tool zur Messung der wahren FP bzw. Integerperfomance unabhängig von dem Caches Ähh ... doch wohl eher einen test für die speicherzugriffsgeschwindigkeit. Bei so einer aktion wird kaum gerechnet, sondern auf den speicher gewartet!

mr.escape

"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen