[MDEV-7965] Field_long::type() takes 0.12% 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.12%  mysqld  mysqld
   - Field_long::type() const
      + 25.78% ha_innobase::position(unsigned char const*)
      + 17.51% ha_innobase::build_template(bool)
      + 14.59% Item_field::fix_fields(THD*, Item**)
      + 13.16% update_ref_and_keys(THD*, st_dynamic_array*, st_join_table*, unsigned int, Item*, unsigned long long, st_select_lex*, st_sargable_param**) [clone .isra.253]
      + 8.45% Item_func::setup_args_and_comparator(THD*, Arg_comparator*)
      + 6.81% get_mm_parts(RANGE_OPT_PARAM*, Item*, Field*, Item_func::Functype, Item*, Item_result) [clone .isra.162] [clone .part.163]
      + 3.65% get_mm_tree(RANGE_OPT_PARAM*, Item**)
      + 2.70% ha_innobase::store_key_val_for_row(unsigned int, char*, unsigned int, unsigned char const*)
      + 2.25% Item_func_between::fix_length_and_dec()
      + 2.00% Item::cmp_type() const
      + 0.83% Field::eq(Field*)
      + 0.62% Item_func::convert_const_compared_to_int_field(THD*)

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:38 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.