Der Martin: Bitweiser Zugriff

Beitrag lesen

Hi Daniel,

$bitmask = Array(0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80);
if ($foo & $bitmask[$botposition])

Uh, das würde ich dann aber wirklich ausprobieren vorher. Dafür muss der Prozessor ja die Speicherposition ausrechnen

in einer Compilersprache wie C oder gar in Assembler nicht. Da ist die *Adresse* einer Variablen konstant - entweder über die gesamte Laufzeit des Programms (globale statische Variablen), oder zumindest während ihrer Lebensdauer (lokale oder dynamisch reservierte Variablen).

Aber nochmal: Optimierungen auf diesem Level lohnen sich wirklich nur bei extrem zeitkritischen Anwendungen, die z.B. millionenfach in einer Schleife durchgenudelt werden. Für die Mehrheit der Anwendungen ist diese Betrachtung rein akademisch.

So long,
 Martin

--
Lieber blau machen, als sich schwarz ärgern.