实现内存池的测试用例、继承jemalloc和自实现内存池。
This commit is contained in:
28
kvstore.c
28
kvstore.c
@@ -1,9 +1,9 @@
|
||||
|
||||
|
||||
|
||||
|
||||
#include "kvstore.h"
|
||||
#include "kvs_rw_tools.h"
|
||||
#include "mem_pool/mem_pool.h"
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
@@ -21,17 +21,12 @@ extern kvs_rbtree_t global_rbtree;
|
||||
extern kvs_hash_t global_hash;
|
||||
#endif
|
||||
|
||||
#if MEMORY_SELECT_MALLOC == MEMORY_USE_MYMALLOC
|
||||
extern mp_pool_t global_mempool;
|
||||
#endif
|
||||
|
||||
int global_cmd_log_fd = -1;
|
||||
|
||||
void *kvs_malloc(size_t size) {
|
||||
return malloc(size);
|
||||
}
|
||||
|
||||
void kvs_free(void *ptr) {
|
||||
return free(ptr);
|
||||
}
|
||||
|
||||
|
||||
const char *command[] = {
|
||||
"SET", "GET", "DEL", "MOD", "EXIST",
|
||||
"RSET", "RGET", "RDEL", "RMOD", "REXIST",
|
||||
@@ -504,7 +499,17 @@ void dest_kvengine(void) {
|
||||
destroy_cmd_log(global_cmd_log_fd);
|
||||
}
|
||||
|
||||
void init_memory_pool(void){
|
||||
#if MEMORY_SELECT_MALLOC == MEMORY_USE_MYMALLOC
|
||||
mp_init(&global_mempool);
|
||||
#endif
|
||||
}
|
||||
|
||||
void dest_memory_pool(void){
|
||||
#if MEMORY_SELECT_MALLOC == MEMORY_USE_MYMALLOC
|
||||
mp_destroy(&global_mempool);
|
||||
#endif
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
|
||||
@@ -512,6 +517,7 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
int port = atoi(argv[1]);
|
||||
|
||||
init_memory_pool();
|
||||
init_kvengine();
|
||||
|
||||
|
||||
@@ -524,7 +530,7 @@ int main(int argc, char *argv[]) {
|
||||
#endif
|
||||
|
||||
dest_kvengine();
|
||||
|
||||
dest_memory_pool();
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user