Les opérations de bit sur les types de bit sont gérées en interne comme, euh, des opérations de bit. Voici ce que fait le code "et", par exemple :
p1 = VARBITS(arg1);
p2 = VARBITS(arg2);
r = VARBITS(result);
for (i = 0; i < VARBITBYTES(arg1); i++)
*r++ = *p1++ & *p2++;
(Il s'agit donc en fait de blocs de 8 bits.)
Je pense donc que cela devrait être assez rapide.