Thread: Proposal for Byte savings in VarBit structure
Hi,<br /> I was looking at the VarBit data structure and found out that instead of storing the number of bits in four bytes,we can save the number of bits that are valid in the last byte. Since we already store the number of bytes in VarlenaHeader, we can calculate the number of valid bits by doing the small math. ( (No. of bytes-1) * 8 + valid bits inthe last byte).<br /> This would save atleast 8 bytes for someone, who is using the varbit data type using less than24 bits.<br /><br /> Waiting for comments.<br /><br />Thanks,<br />Gokul.<br />
Gokulakannan Somasundaram <gokul007@gmail.com> writes: > I was looking at the VarBit data structure and found out that instead of > storing the number of bits in four bytes, we can save the number of bits > that are valid in the last byte. Since we already store the number of bytes > in Varlena Header, we can calculate the number of valid bits by doing the > small math. ( (No. of bytes-1) * 8 + valid bits in the last byte). > This would save atleast 8 bytes for someone, who is using the varbit data > type using less than 24 bits. This might be worth considering in a release cycle where we were going to break on-disk data compatibility for some other reason. But I can hardly imagine wanting to do it by itself. Marginal space savings for the "bit" types just isn't that exciting. Maybe we should start a special section of TODO for "things we might do next time we break data compatibility". regards, tom lane
This might be worth considering in a release cycle where we were going
to break on-disk data compatibility for some other reason. But I can
hardly imagine wanting to do it by itself. Marginal space savings for
the "bit" types just isn't that exciting.
Maybe we should start a special section of TODO for "things we might do
next time we break data compatibility".
Thanks Tom. So when we say breaking data compatibility, we mean the next release where we will recommend pg_dump/restore right?
Thanks,
Gokul.