For almost all architectures, the type int is the most efficient. This rule works for ARM too. Perhaps, in some cases unsigned int can be more efficient than int, but you'll have to figure it out for yourself. Look at the code the compiler generates. ARM assembly language is not that difficult to learn.