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

Item_func::type() takes 0.26% in OLTP RO

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 10.1(EOL)
    • 10.1.6
    • Optimizer
    • None

    Description

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

      Call graphs:

      -   0.26%  mysqld  mysqld
         - Item_func::type() const
            + 18.31% JOIN::optimize_inner()
            + 17.94% MYSQLparse(THD*)
            + 11.70% 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]
            + 10.26% build_equal_items(JOIN*, Item*, COND_EQUAL*, List<TABLE_LIST>*, bool, COND_EQUAL**, bool) [clone .constprop.262]
            + 6.81% internal_remove_eq_conds(THD*, Item*, Item::cond_result*)
            + 5.92% JOIN::prepare(Item***, TABLE_LIST*, unsigned int, Item*, unsigned int, st_order*, bool, st_order*, Item*, st_order*, st_select_lex*, st_select_lex_unit*)
            + 5.32% join_read_const_table(st_join_table*, st_position*) [clone .isra.248]
            + 4.84% JOIN::optimize()
            + 3.57% make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*)
            + 3.01% SQL_SELECT::test_quick_select(THD*, Bitmap<64u>, unsigned long long, unsigned long long, bool, bool, bool)
            + 3.00% remove_eq_conds(THD*, Item*, Item::cond_result*)
            + 2.92% Item_func::compile(bool (Item::*)(unsigned char**), unsigned char**, Item* (Item::*)(unsigned char*), unsigned char*)
            + 2.52% Item_equal::add_const(Item*, Item*)
            + 2.01% Item_func::setup_args_and_comparator(THD*, Arg_comparator*)
            + 1.31% make_join_select(JOIN*, SQL_SELECT*, 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

        Issue Links

          Activity

            Transition Time In Source Status Execution Times
            Alexander Barkov made transition -
            Open In Progress
            11d 21h 56m 1
            Alexander Barkov made transition -
            In Progress Closed
            57d 23h 26m 1

            People

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

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

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