AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Integer vs. byte

Ein Thema von Sebastian Nintemann · begonnen am 16. Okt 2002 · letzter Beitrag vom 18. Okt 2002
 
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#4
  Alt 17. Okt 2002, 09:12
Byte vs. Integer in Schleifen.

Hi Sebastian,

es bringt absolut keine Vorteile eine Byte-Schleifen-Variable gegenüber einer Integer-SV zu nutzen. Der Kompiler hat u.U. sogar mehr Arbeit. Simple Erklärung.

Der Kompiler übersetzt Schleifenvariablen in ein bis zwei Register (je nach dem, ob diese innerhalb der Schleife genutzt werden). Der Schleifenregister wird auf die Differenz zwischen Anfang und Ende der Schleife gesetzt und in das 32-Bit (Integer) Register ECX geschrieben. Dieses wird solange heruntergezählt, bis es 0 ist. Das zweite Register (i.a. DL, DX, oder EDX) wird von Anfangswert solange heraufgezählt, bis die Schleife beendet wurde.

Wie auch immer, ECX ist der Zähler, und dieser ist vom Typ Integer. Wenn ein Byte in ein 32-Bit Register geladen wird, so muss dieses vorher gelöscht werden, das ist auf modernen Rechnern eine Extraaufwand von 2 Taktzyklen.

Abschluss

Wenn Du die Routine in einer rechenintensiven Umgebung nutzt, dann nutze immer Integervariablen. Wenn die Routine "nur mal so" genutzt wird, dann empfehle ich das zu nutzen, was Dir während der Entwicklung Vorteile bringt.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz