Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Laufzeitbedarf von Ein-Element-Strukturen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
17.07.2006, 16:33 Uhr
Yadgar



High!

Mein Lehrbuch (immer noch der "Aupperle", das wird sich so bald nicht ändern, der Wälzer ist nicht nur über 1000 Seiten stark, sondern auch didaktisch erstklassig gemacht!) fragt mich in einer Übung, ob Strukturen mit nur einem Element (etwa für Währungstypen) mehr Speicherplatz oder Laufzeit benötigen als der diesem Element entsprechende fundamentale Datentyp.

Den Speicherbedarf zu ermitteln ist dank sizeof kein Problem, aber bei der Laufzeit muss ich doch etwas grübeln... als Nicht-Hardwareprofi vermute ich dabei mal naiv, dass der Zugriff auf eine 32 bit breite Struktur nicht länger dauern kann als der auf eine 32 bit breite int-Variable... oder gibt es bei Strukturen eine Art von "Overhead", die ich bei meiner Annahme nicht berücksichtige?

Bis bald im Khyberspace!

Yadgar
--
Flagmaker - ein Programmier-Blog
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.07.2006, 00:51 Uhr
Hans
Library Walker
(Operator)


Hi,

also ich würde sagen, dass das irgendwo zumindest Andeutungsweise vorher stehen müsste. Deshalb würde ich vorschlagen, das Kapitel über Strukturen noch mal zu lesen. Vielleicht stolperst Du ja über einen Hinweis, den Du vorher übersehen hast.
Ansonsten würde ich vermuten, das der Zugriff auf ein Strukturelement gringfügig mehr Laufzeit benötigt, weil ein gewisser Overhaed entsteht, bzw. auf Assemblerebene eine kompliziertere indirekte Adressierung benutzt wird. - Genau weis ich es allerdings auch nicht....

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.07.2006, 01:21 Uhr
kronos
Quotenfisch
(Operator)


Also von der Theorie her wird eine normale Variable direkt addressiert, ein Element einer Datenstruktur dagegen relativ zur Postition des Strukturobjektes, der Zugriff ist damit etwas langsamer. Weiß aber nicht wie das auf assembler-Ebene tatsächlich aussieht, das wird bestimmt irgendwie wegoptimiert. Heutzutage wird doch alles wegoptimiert...
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>

Dieser Post wurde am 18.07.2006 um 01:21 Uhr von kronos editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: