Autor Beitrag
gih9
Hält's aus hier
Beiträge: 14

Win2000
D5 Prof.
BeitragVerfasst: Mo 08.03.04 12:12 
Hallo,

ich hab da mal ne frage. Hab im delphi help folgendes gelesen

Zitat:
An integer type represents a subset of the whole numbers. The generic integer types are Integer and Cardinal; use these whenever possible, since they result in the best performance for the underlying CPU and operating system.


Wenn man nen for loop hat der vun 1 bis 10 zählt, ist es nun besser byte zu benutzen oder sollte man immer wenn nur möglich integer oder cardinal benutzen? Ich hätte doch mal gedacht dass das Program weniger speicher braucht wenn man 8-bit variable benutzt als 32-bit.

Danke für ne erklärung.

Moderiert von user profile iconTino: Topic verschoben.
ErnestoChe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: Mo 08.03.04 13:01 
Hallo,

wenn du ein 32-Bit OS hast und deine CPU auch eine 32-Bit CPU ist, dann sind Operationen mit 32-Bit Datentypen schneller. Daher würde ich in deinem Fall in der Schleife einen 32-Bit Datentyp vorziehen.

MFG

- Ernesto -

// Nachtrag: auf einem 16-Bit-System wären Integer und Cardinal 16-Bit Groß - das ist mit generic type gemeint, da sie sich dem zugrundeliegenden System anpassen


Zuletzt bearbeitet von ErnestoChe am Mo 08.03.04 13:07, insgesamt 1-mal bearbeitet
gih9 Threadstarter
Hält's aus hier
Beiträge: 14

Win2000
D5 Prof.
BeitragVerfasst: Mo 08.03.04 13:06 
Gibt es denn überhaupt eine anwendung für 8 oder 16-bit variablen wenn man ein 32 bit os hat?

gih9
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Mo 08.03.04 14:12 
Die Frage, ob 8, 16, 32 oder 64 ist nicht alleine von BS abhängig, sondern auch was man damit erreichen will.
Hardwarezugriffe, Netzwerke etc. benötigen und fordern manchmal nicht die ganze Bandbreite.
Solange du auf der CPU bleibst, in deiner Frage auf einer FOR-Schleife, solltest du diese natürlich so schreiben,
dass deine CPU optimal arbeiten kann.

grez
msch

_________________
ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
Brainiac
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 08.03.04 20:30 
gih9 hat folgendes geschrieben:
Gibt es denn überhaupt eine anwendung für 8 oder 16-bit variablen wenn man ein 32 bit os hat?


Hat mit dem OS weniger zu tun als mit der CPU.
Und ja die CPU hat instruktionen für operationen mit 8 oder 16 Bits. Die neuen eben auch für Operationen mit 64 Bits.
Am schnellsten sind bei allen aktuellen ohne 64Bit support die 32 Bit befehle, aber ein großer unterschied ist es nicht, wenn überhaupt einer.
Höchstens beim Speicherzugriff.