Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#14

AW: Schnelle SwapByte Routine - Bits swappen

  Alt 23. Feb 2016, 16:03
Beim Case wird jeder einzelne Wert verglichen, bis etwas getroffen wird.
Beim Array wird der Eingabewert direkt als Index/Offset verwendet.
Das stimmt so auch nicht. Der Compiler legt oft Sprungtabellen an wodurch das case-of selbst eine Art Array auf Assemblerebene wird. (Und gerade bei diesem case-of bietet es sich mehr als an)
Da gibts dann auch keinen so großen Unterschied zu einem direkten Zugriff auf ein Array. Wobei der direkte Zugriff sicherlich immernoch ein Stückchen schneller (und in meinen Augen) schöner zu lesen ist als das gigantische case-of.

Notwendig ist ein case-of nicht, aber für Aufzählungswerte oder oft auch für Zahlenwerte ist es manchmal eine etwas übersichtlichere Alternative zu einer endlosen if-then-else Verkettung.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Geändert von Neutral General (23. Feb 2016 um 16:06 Uhr)
  Mit Zitat antworten Zitat