Becnh dict+mempool
This commit is contained in:
1 parent
2dd3b727ff
commit
7f339f1358
1 file changed
+20
@@ -132,11 +132,18 @@ static void test_rbtree(size_t n)
|
|||||||
|
|
||||||
/********************************************************************************************/
|
/********************************************************************************************/
|
||||||
|
|
||||||
|
#ifdef USE_MEMPOOL
|
||||||
|
DICT_DEF2(ulong, unsigned long, M_OPLIST_CAT((MEMPOOL(dict_mpool), MEMPOOL_LINKAGE(static)),M_DEFAULT_OPLIST), unsigned long, M_DEFAULT_OPLIST)
|
||||||
|
#else
|
||||||
DICT_DEF2(ulong, unsigned long, M_DEFAULT_OPLIST, unsigned long, M_DEFAULT_OPLIST)
|
DICT_DEF2(ulong, unsigned long, M_DEFAULT_OPLIST, unsigned long, M_DEFAULT_OPLIST)
|
||||||
|
#endif
|
||||||
|
|
||||||
static void
|
static void
|
||||||
test_dict(unsigned long n)
|
test_dict(unsigned long n)
|
||||||
{
|
{
|
||||||
|
#ifdef USE_MEMPOOL
|
||||||
|
mempool_list_dict_pair_ulong_init(dict_mpool);
|
||||||
|
#endif
|
||||||
rand_init();
|
rand_init();
|
||||||
M_LET(dict, DICT_OPLIST(ulong)) {
|
M_LET(dict, DICT_OPLIST(ulong)) {
|
||||||
for (size_t i = 0; i < n; i++) {
|
for (size_t i = 0; i < n; i++) {
|
||||||
@@ -151,6 +158,9 @@ test_dict(unsigned long n)
|
|||||||
}
|
}
|
||||||
g_result = s;
|
g_result = s;
|
||||||
}
|
}
|
||||||
|
#ifdef USE_MEMPOOL
|
||||||
|
mempool_list_dict_pair_ulong_clear(dict_mpool);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/********************************************************************************************/
|
/********************************************************************************************/
|
||||||
@@ -165,11 +175,18 @@ static size_t char_hash(const char_array_t a) { return m_core_hash (a, strlen(a)
|
|||||||
// NOTE: Can't set OPLIST as a macro!
|
// NOTE: Can't set OPLIST as a macro!
|
||||||
#define CHAR_OPLIST (INIT(char_init), INIT_SET(char_set), SET(char_set), CLEAR(char_init), HASH(char_hash), EQUAL(char_equal_p))
|
#define CHAR_OPLIST (INIT(char_init), INIT_SET(char_set), SET(char_set), CLEAR(char_init), HASH(char_hash), EQUAL(char_equal_p))
|
||||||
|
|
||||||
|
#ifdef USE_MEMPOOL
|
||||||
|
DICT_DEF2(char, char_array_t, M_OPLIST_CAT((MEMPOOL(dict_mpool2), MEMPOOL_LINKAGE(static)),CHAR_OPLIST), char_array_t, CHAR_OPLIST)
|
||||||
|
#else
|
||||||
DICT_DEF2(char, char_array_t, CHAR_OPLIST, char_array_t, CHAR_OPLIST)
|
DICT_DEF2(char, char_array_t, CHAR_OPLIST, char_array_t, CHAR_OPLIST)
|
||||||
|
#endif
|
||||||
|
|
||||||
static void
|
static void
|
||||||
test_dict_big(unsigned long n)
|
test_dict_big(unsigned long n)
|
||||||
{
|
{
|
||||||
|
#ifdef USE_MEMPOOL
|
||||||
|
mempool_list_dict_pair_char_init(dict_mpool2);
|
||||||
|
#endif
|
||||||
rand_init();
|
rand_init();
|
||||||
M_LET(dict, DICT_OPLIST(char)) {
|
M_LET(dict, DICT_OPLIST(char)) {
|
||||||
for (size_t i = 0; i < n; i++) {
|
for (size_t i = 0; i < n; i++) {
|
||||||
@@ -188,6 +205,9 @@ test_dict_big(unsigned long n)
|
|||||||
}
|
}
|
||||||
g_result = s;
|
g_result = s;
|
||||||
}
|
}
|
||||||
|
#ifdef USE_MEMPOOL
|
||||||
|
mempool_list_dict_pair_char_clear(dict_mpool2);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/********************************************************************************************/
|
/********************************************************************************************/
|
||||||
|
|||||||
Reference in new issue
Block a user