[MDEV-7963] Item::const_item() takes 0.13% in OLTP RO Created: 2015-04-09  Updated: 2016-02-16

Status: Open
Project: MariaDB Server
Component/s: None
Affects Version/s: 10.1
Fix Version/s: 10.2

Type: Bug Priority: Minor
Reporter: Sergey Vojtovich Assignee: Alexander Barkov
Resolution: Unresolved Votes: 0
Labels: None

Epic Link: Performance: micro optimizations

 Description   

Data comes from Sandy Bridge system running sysbench OLTP RO in 1 thread against 1 table.

Call graphs:

-   0.13%  mysqld  mysqld
   - Item::const_item() const
      + 17.90% update_const_equal_items(Item*, st_join_table*, bool) [clone .part.240]
      + 16.59% Arg_comparator::set_cmp_func(Item_result_field*, Item**, Item**, Item_result)
      + 13.14% build_equal_items_for_cond(THD*, Item*, COND_EQUAL*, bool)
      + 12.18% setup_conds(THD*, TABLE_LIST*, List<TABLE_LIST>&, Item**)
      + 11.84% st_select_lex::update_used_tables()
      + 7.17% Item_func::update_used_tables()
      + 4.59% Item_func_between::fix_fields(THD*, Item**)
      + 4.15% add_key_fields(JOIN*, key_field_t**, unsigned int*, Item*, unsigned long long, st_sargable_param**)
      + 2.86% add_key_equal_fields(JOIN*, key_field_t**, unsigned int, Item_func*, Item*, bool, Item**, unsigned int, unsigned long long, st_sargable_param**)
      + 2.33% Item_func::fix_fields(THD*, Item**)
      + 1.89% Arg_comparator::cache_converted_constant(THD*, Item**, Item**, Item_result)
      + 1.16% build_equal_items(JOIN*, Item*, COND_EQUAL*, List<TABLE_LIST>*, bool, COND_EQUAL**, bool) [clone .constprop.262]
      + 1.15% JOIN::init_execution()
      + 0.94% JOIN::optimize_inner()
      + 0.58% Item_equal::update_used_tables()
      + 0.57% JOIN::optimize()

This is virtual method which can't be inlined. Most time spent for function call convention. Check if we can revoke it's virtual status.


Generated at Thu Feb 08 07:23:37 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.