#include #include #include #include #include #include #include #include #include "fastcommon/uniq_skiplist.h" #include "fastcommon/logger.h" #include "fastcommon/shared_func.h" #define COUNT 1000000 #define LEVEL_COUNT 16 #define MIN_ALLOC_ONCE 8 #define LAST_INDEX (COUNT - 1) static int *numbers; static UniqSkiplistFactory factory; static UniqSkiplist *sl = NULL; static UniqSkiplistIterator iterator; static int instance_count = 0; static void free_test_func(void *ptr, const int delay_seconds) { instance_count--; } static int compare_func(const void *p1, const void *p2) { return *((int *)p1) - *((int *)p2); } void set_rand_numbers(const int multiple) { int i; int tmp; int index1; int index2; for (i=0; itop_level_index + 1); uniq_skiplist_free(sl); fast_mblock_manager_stat_print(false); uniq_skiplist_destroy(&factory); assert(instance_count == 0); end_time = get_current_time_ms(); printf("pass OK, time used: %"PRId64" ms\n", end_time - start_time); return 0; }