It's fairly complicated. One way to answer your question is to say
that it is the same for Go. But another, perhaps more useful, answer
is that these kinds of micro-benchmarks do not accurately predict the
performance of your actual code. You need to measure your actual
code, not micro-benchmarks.
> Why I need this:
> I have a data structure similar to a bitarray (e.g.
>
https://gowalker.org/github.com/Workiva/go-datastructures/bitarray#BitArray),
> where sequences of bits are stored in an array of some block type (like
> byte/int16/int32/int64).
>
> Therefore the efficiency of arithmetic- and bit manipulation operations is
> very important.
>
> Is there a preferable block type?
You will most likely get the most efficient performance using the type
int. Of course, that is awkward since you don't know the size. In
that case, if you expect to run primarily on 64-bit machines, use
in64. Otherwise, use int32.
But whatever you do, if performance of this code matters, measure the
result.
Ian