I have already studied byte arrays and they work great, but I do not understand how there can be so much overhead.
The following code returns 56 and 54 bytes and that is for storing 5 bytes

import sys
ar = bytearray([1,2,3,4,5])
ar2 = bytearray(b'\x01\x02\x03\x04\x05')
print(sys.getsizeof(ar))
print(sys.getsizeof(ar2))
Am I doing something wrong here?
Isn't there any way of storing data without that much overhead and does the sys.getsizeof() returns the memory allocated?
Please note that this is in Python and not MicroPython (forgot my board at the university)!!!