← Back to team overview

maria-developers team mailing list archive

Re: benchmarking next steps

 

Hi!

>>>>> "Sergey" == Sergey Vojtovich <svoj@xxxxxxxxxxx> writes:

Sergey> Hi Mark,
Sergey> we identified a few single-thread performance issues during the Barcelona
Sergey> meeting. Monty should have them fixed in his private tree. Fixes are quite
Sergey> generic and should improve performance almost in all cases. An exception is
Sergey> bottlenecks specific to certain use cases.

A short followup of the above:

While testing trivial queries, we noticed some code paths at top that
should not be there:
- Mallocs (simple queries should be run without any mallocs).
  - I managed to remove some of them.
- Some atomic increments/sum could be avoided.
  (For simple SELECT * FROM empty_table, an atomic increment could
  take almost 1% of execution time)
  - This was fixed by marking more memory as THREAD_SPECIFIC and not
    do atomic operations on these until SHOW STATUS
- Lots of calls to current_thd
  - A large portion of these calls are now removed.
- Some byte rotate operations where slower than expected.  These was often
  used in Aria tables and MyISAM tables.
  -  We will replace these with one assembler instructions for X64
     ships which will make them MUCH faster.

I have done the above fixed in my 10.0 tree. I just need to finalize
and benchmark this before I push...

Regards,
Monty


Follow ups

References