Единственный способ сделать это - это измерить - хотя я сомневаюсь, что выполнение побитовых операций в JavaScript поможет вам намного больше по массиву / объекту.
Я бы попробовал:
var len = 100000;
var bitwise = 0xdeadbeef;
var arrays = [1,1,0,1,1,1,1,0,1,0,1,0,1,1,0,1,1,0,1,1,1,1,1,0,1,1,1,0,1,1,1,1];
var start = new Date().getTime();
for (var i = 0; i < len; i++) {
arrays[i % 32]; //Uncomment to test this
//bitwise & (1 << (i % 32)); //Uncomment to test this
}
var end = new Date().getTime();
console.log((end-start)/len +"ms per access");
Я получил (Chrome, Windows 7, Core i7 920, 6 ГБ ОЗУ):
0.0015 ms per access for arrays
0.0016 ms per access for bit shifting.
Вы принимаете решение - оно практически несущественно.Используйте Массивы для немного лучшей скорости, используйте битовую упаковку, если необходимо сохранить пространство (пропускную способность).