javascript / expert
Snippet
Kompakter Status via bitweiser TypedArrays
Die Verwendung bitweiser Operatoren auf TypedArrays erlaubt das Speichern mehrerer boolescher Flags in einem einzigen Byte. Dies ist entscheidend für Hochleistungs-Node.js-Anwendungen, da es den Speicherverbrauch massiv senkt und die CPU-Cache-Lokalität verbessert.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
const PERMS = { READ: 1 << 0, WRITE: 1 << 1, DELETE: 1 << 2 };const userStates = new Uint8Array(1024);// Grant READ and WRITEuserStates[42] |= (PERMS.READ | PERMS.WRITE);// Check for DELETE permissionconst canDelete = (userStates[42] & PERMS.DELETE) !== 0;// Toggle WRITEuserStates[42] ^= PERMS.WRITE;
nodejs
Erklärung
1
userStates[42] |= (PERMS.READ | PERMS.WRITE);
Kombiniert zwei Flags mittels bitweisem ODER und weist sie dem Index zu.
2
(userStates[42] & PERMS.DELETE) !== 0;
Nutzt eine bitweise UND-Maske, um zu prüfen, ob ein spezifisches Bit auf 1 gesetzt ist.