Use MEM_CHECK_DEFINED to check if blocks contain uninitialized data
Fixed failure in tests when running optimized code
- Some assert() was using code that had to be executed
Fixed copying of some uninitialized data (fixed valgrind warning)
Optimized intkorr() and intstore(functions) for intel 64 bits.
(Benchmarked, about 30 % faster and 50 % smaller than original)
my_alloc.c
- Changed 0x%lx -> %p
array.c:
- Static (preallocated) buffer can now be anywhere
my_sys.h
- Define MY_INIT_BUFFER_USED
sql_delete.cc & sql_lex.cc
- Use memroot when allocating classes (avoids call to current_thd)
sql_explain.h:
- Use preallocated buffers
sql_explain.cc:
- Use preallocated buffers and memroot
sql_select.cc:
- Use multi_alloc_root() instead of many alloc_root()
- Update calls to Explain
- Changed default values of query_prealloc_size and query_alloc_block_size
so that a simple query with one join would not have to call my_malloc.
- Allow lower limites for query_prealloc_size for testing.
- Fixed wrong initialization of trans_alloc_block_size
Detect if we compile with jemalloc.
If jemalloc is used without thread_cache, disable thread specific malloc
areas withing jemalloc. This is done because for short running threads,
the allocation and deallocation of thread specific areas causes a notable
overhead (some simple connect/queryy/disconnect tests was 50 % slower).
Cleanups, comment fixes and smaller optimization's
Added missing calls to delete_current_thread
sql_class.cc:
- Use new my_hash_init interface to not allocate memory until needed
sql_lex.cc:
- Don't call lip->body_utf8_append() if not needed
sql_statistics.cc:
- Move initialization of objects later to avoid overhead of creating them if not needed.
sql_transaction.cc:
- Simply trans_check()
build_tags:
- Update for git
Add thd to NET structure to avoid calling current_thd()
my_net_init(), thd_increment_net_big_packet_count(),
thd_increment_bytes_received(), thd_increment_bytes_sent() and
query_cache_insert() now takes THD as an argument.