diff options
author | Monty <monty@mariadb.org> | 2020-08-28 17:11:55 +0300 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2021-05-19 22:27:27 +0200 |
commit | 8e8bda7fd3a47b13c43a7ad11a23af7dc72cd784 (patch) | |
tree | 57c718743d62c9b6cd55d194cc04ce9ec47ceb86 /sql/item_cmpfunc.h | |
parent | fa7d4abf164b37d0f98012ff7e906ebe7de8f1ed (diff) | |
download | mariadb-git-8e8bda7fd3a47b13c43a7ad11a23af7dc72cd784.tar.gz |
Optimize size of lex structures
LEX, st_select_lex, st_select_unit optimized for space:
- Use bit fields for bool variables
- Ensure that all bit fields are initialized (improves
performance for init functions as all bit fields can be
initalized with one memory access)
- Move members around in above structures to remove alignment
gaps
Some savings:
LEX: 7032 -> 6880
THD: 25608 -> 25456
st_select_lex_unit: 2048 -> 2008
LEX::start(): 1321 -> 1245 instructions
st_select_lex_unit::init_query() 284 -> 214 instructions
st_select_lex::init_query(): 766 -> 692 instructions
st_select_lex::init_select(): 563 -> 540 instructions
Other things:
- Removed not used LEX::select_allow_into
- Fixed MDEV-25510 Assertion `sel->select_lock ==
st_select_lex::select_lock_type::NONE' which was caused by this commit.
Diffstat (limited to 'sql/item_cmpfunc.h')
0 files changed, 0 insertions, 0 deletions