Hi!
>>>>> "Sergey" == Sergey Vojtovich <svoj@mariadb.org> 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