Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-7959

Item::cmp_type() takes 0.15% in OLTP RO

Details

    • Bug
    • Status: Open (View Workflow)
    • Minor
    • Resolution: Unresolved
    • 10.1(EOL)
    • 10.2(EOL)
    • None
    • None

    Description

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

      Call graphs:

      -   0.15%  mysqld  mysqld
         - Item::cmp_type() const
            + 37.20% Item_func::fix_fields(THD*, Item**)
            + 13.65% Item_func::setup_args_and_comparator(THD*, Arg_comparator*)
            + 10.08% Item_equal::add_const(Item*, Item*)
            + 5.16% Item_equal::fix_fields(THD*, Item**)
            + 4.68% build_equal_items_for_cond(THD*, Item*, COND_EQUAL*, bool)
            + 4.36% 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]
            + 4.14% get_mm_parts(RANGE_OPT_PARAM*, Item*, Field*, Item_func::Functype, Item*, Item_result) [clone .isra.162] [clone .part.163]
            + 3.54% Item_func_between::fix_length_and_dec()
            + 2.94% check_simple_equality(Item*, Item*, Item*, COND_EQUAL*)
            + 2.69% Item::cache_const_expr_transformer(unsigned char*)
            + 2.13% Item_bool_func2::set_cmp_func()
            + 1.94% Arg_comparator::set_cmp_func(Item_result_field*, Item**, Item**, bool)
            + 1.63% Field::can_optimize_keypart_ref(Item_func const*, Item const*) const
            + 1.27% Item::charset_for_protocol() const
            + 1.11% Item_equal::fix_length_and_dec()
            + 0.95% Item::init_make_field(Send_field*, enum_field_types)
            + 0.80% Protocol::send_result_set_metadata(List<Item>*, unsigned int)
            + 0.79% Item_equal::Item_equal(Item*, Item*, bool)
            + 0.63% get_mm_leaf(RANGE_OPT_PARAM*, Item*, Field*, st_key_part*, Item_func::Functype, Item*)

      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.

      Attachments

        Activity

          People

            bar Alexander Barkov
            svoj Sergey Vojtovich
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.