]> git.saurik.com Git - redis.git/blobdiff - src/config.h
call lua_gc() for incremental garbage collection. Likely there is to tune this at...
[redis.git] / src / config.h
index d98067c1f035df7ba72b6b153a0debb668495d82..208c7b93d2d3a901ea47980c2c32d6a072a6969e 100644 (file)
  * this expects a different allocation scheme. Therefore, *exclusively* use
  * either tcmalloc or OSX's malloc_size()! */
 #if defined(USE_TCMALLOC)
  * this expects a different allocation scheme. Therefore, *exclusively* use
  * either tcmalloc or OSX's malloc_size()! */
 #if defined(USE_TCMALLOC)
+#define REDIS_MALLOC "tcmalloc"
 #include <google/tcmalloc.h>
 #if TC_VERSION_MAJOR >= 1 && TC_VERSION_MINOR >= 6
 #define HAVE_MALLOC_SIZE 1
 #define redis_malloc_size(p) tc_malloc_size(p)
 #endif
 #include <google/tcmalloc.h>
 #if TC_VERSION_MAJOR >= 1 && TC_VERSION_MINOR >= 6
 #define HAVE_MALLOC_SIZE 1
 #define redis_malloc_size(p) tc_malloc_size(p)
 #endif
+#elif defined(USE_JEMALLOC)
+#define REDIS_MALLOC "jemalloc"
+#define JEMALLOC_MANGLE
+#include <jemalloc/jemalloc.h>
+#if JEMALLOC_VERSION_MAJOR >= 2 && JEMALLOC_VERSION_MINOR >= 1
+#define HAVE_MALLOC_SIZE 1
+#define redis_malloc_size(p) JEMALLOC_P(malloc_usable_size)(p)
+#endif
 #elif defined(__APPLE__)
 #include <malloc/malloc.h>
 #define HAVE_MALLOC_SIZE 1
 #define redis_malloc_size(p) malloc_size(p)
 #endif
 
 #elif defined(__APPLE__)
 #include <malloc/malloc.h>
 #define HAVE_MALLOC_SIZE 1
 #define redis_malloc_size(p) malloc_size(p)
 #endif
 
-/* Tefine redis_fstat to fstat or fstat64() */
+#ifndef REDIS_MALLOC
+#define REDIS_MALLOC "libc"
+#endif
+
+/* Define redis_fstat to fstat or fstat64() */
 #if defined(__APPLE__) && !defined(MAC_OS_X_VERSION_10_6)
 #define redis_fstat fstat64
 #define redis_stat stat64
 #if defined(__APPLE__) && !defined(MAC_OS_X_VERSION_10_6)
 #define redis_fstat fstat64
 #define redis_stat stat64