Details
-
Type:
Epic
-
Status: Open
-
Priority:
Major
-
Resolution: Unresolved
-
Fix Version/s: None
-
Component/s: OTHER
-
Labels:None
-
Epic Name:Performance: micro optimizations
Description
In MariaDB there seem to be no major (>5%) bottlenecks for CPU bound workloads. However there's a whole bunch of more or less easily fixable minor things that waste inexcusable amount of time. Among those:
- one-line virtual methods that can't be inlined
- simple functions defined in source file that can't be inlined
- abuse of likely()/unlikely() (likely in InnoDB, PFS)
- added (sometimes complex) conditions (PFS, WSREP, PROFILING)
- frequent calls of pthread_getspecific() (InnoDB, parser, optimizer)
See linked issues for details.
Gliffy Diagrams
Attachments
Issues in Epic
|
|
MDEV-6152 | Remove calls to current_thd while creating Item |
|
Closed | Michael Widenius | |
|
|
MDEV-8010 | Avoid sql_alloc() in Items |
|
Closed | Sergey Vojtovich | |
|
|
MDEV-7956 | handler::rebind_psi() takes 0.07% in OLTP RO |
|
Closed | Sergey Vojtovich | |
|
|
MDEV-7943 | pthread_getspecific() takes 0.76% in OLTP RO |
|
Closed | Sergey Vojtovich | |
|
|
MDEV-7952 | clock_gettime() takes 0.24% in OLTP RO |
|
Closed | Sergey Vojtovich | |
|
|
MDEV-8030 | Apc_target::disable() locks mutex twice |
|
Closed | Sergey Vojtovich | |
|
|
MDEV-8199 | first_breadth_first_tab() takes 0.07% in OLTP RO |
|
Closed | Sergey Vojtovich | |
|
|
MDEV-7899 | 10.1 is 3% slower than 10.0 in OLTP RO |
|
Closed | Sergei Petrunia | |
|
|
MDEV-7942 | InnoDB: abuse of UNIV_LIKELY()/UNIV_UNLIKELY() |
|
Closed | Jan Lindström | |
| MDEV-7944 | alloc_root() takes 0.51% in OLTP RO |
|
Open | Unassigned | ||
|
|
MDEV-7945 | THD::enter_stage() takes 0.48% in OLTP RO |
|
Closed | Sergey Vojtovich | |
| MDEV-7947 | strcmp() takes 0.37% in OLTP RO |
|
Open | Alexander Barkov | ||
| MDEV-7948 | Protocol::write() takes 0.07% in OLTP RO |
|
Open | Alexander Barkov | ||
|
|
MDEV-7950 | Item_func::type() takes 0.26% in OLTP RO |
|
Closed | Alexander Barkov | |
|
|
MDEV-7951 | sql_alloc() takes 0.25% in OLTP RO |
|
Closed | Sergey Vojtovich | |
| MDEV-7953 | check_table_name() takes 0.19% in OLTP RO |
|
Open | Alexander Barkov | ||
| MDEV-7954 | my_strcasecmp_utf8() takes 0.19% in OLTP RO |
|
Open | Alexander Barkov | ||
| MDEV-7955 | WSREP() appears on radar in OLTP RO |
|
Open | Nirbhay Choubey | ||
| MDEV-7957 | QUICK_RANGE_SELECT::get_next() takes 0.17% in OLTP RO |
|
Open | Sergei Petrunia | ||
| MDEV-7959 | Item::cmp_type() takes 0.15% in OLTP RO |
|
Open | Alexander Barkov | ||
| MDEV-7960 | Field::char_length() takes 0.15% in OLTP RO |
|
Open | Alexander Barkov | ||
| MDEV-7961 | Protocol::store_string_aux() takes 0.14% in OLTP RO |
|
Open | Alexander Barkov | ||
| MDEV-7962 | wsrep_on() takes 0.14% in OLTP RO |
|
Open | Nirbhay Choubey | ||
| MDEV-7963 | Item::const_item() takes 0.13% in OLTP RO |
|
Open | Alexander Barkov | ||
|
|
MDEV-7964 | delete_dynamic() takes 0.12% in OLTP RO |
|
Closed | Sergey Vojtovich | |
| MDEV-7965 | Field_long::type() takes 0.12% in OLTP RO |
|
Open | Alexander Barkov | ||
| MDEV-7966 | Item::real_item() takes 0.12% in OLTP RO |
|
Open | Alexander Barkov | ||
|
|
MDEV-7999 | PROFILING routines take 0.2% when profiling disabled |
|
Closed | Sergey Vojtovich | |
|
|
MDEV-8001 | mysql_reset_thd_for_next_command() takes 0.04% in OLTP RO |
|
Closed | Sergey Vojtovich | |
|
|
MDEV-8190 | start_stage_noop() takes 0.18% in OLTP RO |
|
Closed | Sergey Vojtovich | |
|
|
MDEV-8191 | THD::set_query() takes 0.07% in OLTP RO |
|
Closed | Sergey Vojtovich | |
|
|
MDEV-8192 | THD::set_command() takes 0.05% in OLTP RO |
|
Closed | Sergey Vojtovich | |
|
|
MDEV-8198 | Excessive initialization of POSITION objects |
|
Closed | Sergey Vojtovich | |
|
|
MDEV-8202 | st_select_lex::master_unit() takes 0.17% in OLTP RO |
|
Closed | Sergey Vojtovich | |
| MDEV-8715 | Obsolete sql_alloc() in favor of THD::alloc() and thd_alloc() |
|
Open | Unassigned | ||
| MDEV-8716 | Obsolete sql_calloc() in favor of THD::calloc() and thd_calloc() |
|
Open | Unassigned | ||
| MDEV-8717 | Obsolete sql_strdup() in favor of THD::strdup() and thd_strdup() |
|
Open | Unassigned | ||
| MDEV-8718 | Obsolete sql_strmake() in favor of THD::strmake() and thd_strmake() |
|
Open | Unassigned | ||
| MDEV-8719 | Obsolete sql_memdup() in favor of THD::memdup() and thd_memdup() |
|
Open | Unassigned | ||
| MDEV-7949 | Item_field::used_tables() takes 0.29% in OLTP RO |
|
Stalled | Oleksandr Byelkin |
MDEV-7941
Performance: micro optimizations
false
MDEV-7941
Performance: micro optimizations
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
Since it was agreed to keep performance schema intact, further analysis will be done with performance schema compiled out.