In general, and it really depends, the 'a array implementation should be faster: it is trading a multiply for an indirection. And in normal mode, the indirection is going to cost you a check on the subscript. Also it costs you space. This can be a very high price if the array is long and narrow.