IMHO we cant avoid auto/un boxing at all - (open source) protobuffers has no API working with primitive values. We will get autoboxed value and we need unbox it at least once.
We could do other optimization as devirtualizing method calls.