Re: [Maria-developers] 16e38888c06: Improved storage size for Item, Field and some other classes
Hi, Michael! Did you consider trying -Wpadded? '-Wpadded' Warn if padding is included in a structure, either to align an element of the structure or to align the whole structure. Sometimes when this happens it is possible to rearrange the fields of the structure to reduce the padding and so make the structure smaller. Might reveal more useful cases where fields could be rearranged. On Mar 27, Michael Widenius wrote:
revision-id: 16e38888c06 (mariadb-10.5.2-513-g16e38888c06) parent(s): 4cfb680b685 author: Michael Widenius <michael.widenius@gmail.com> committer: Michael Widenius <michael.widenius@gmail.com> timestamp: 2021-03-24 14:31:53 +0200 message:
Improved storage size for Item, Field and some other classes
- Changed order of class fields to remove dead alignment space. - Changed bool fields in Item to bit fields. - Used packed enum's for some fields in common classes - Removed not used Item::rsize. - Changed some class variables from uint/int to smaller type int's. - Ensured that field_index is uint16 in all classes and functions. Fixed also that we proparly compare with NO_CACHED_FIELD_INDEX when checking if variable is not set. - Removed checking of highest bit of unireg_check (has not been used in a long time) - Fixed wrong arguments to make_cond_for_table() for join_tab_idx_arg from false to 0.
One of the result was reducing the size if class Item with ~24 bytes
Regards, Sergei VP of MariaDB Server Engineering and security@mariadb.org
Hi! On Sat, Mar 27, 2021 at 6:53 PM Sergei Golubchik <serg@mariadb.org> wrote:
Hi, Michael!
Did you consider trying -Wpadded?
'-Wpadded' Warn if padding is included in a structure, either to align an element of the structure or to align the whole structure. Sometimes when this happens it is possible to rearrange the fields of the structure to reduce the padding and so make the structure smaller.
No, I have not used that. Good to know about if I will try to do rearrangement of some other structures later (There are a lot of big structures in the server that would benefit of rearrangement of variables) Regards, Monty
participants (2)
-
Michael Widenius
-
Sergei Golubchik