对命中clause_id的数量设置上限,避免同时命中compile数量过多时,utarray排序耗时过大。

This commit is contained in:
zhengchao
2020-11-24 21:06:04 +06:00
parent e9a9c89116
commit b9779088b9
2 changed files with 7 additions and 3 deletions

View File

@@ -1,6 +1,7 @@
#include "Maat_hierarchy.h" #include "Maat_hierarchy.h"
#include "Maat_utils.h" #include "Maat_utils.h"
#include "Maat_limits.h"
#include "uthash/uthash.h" #include "uthash/uthash.h"
#include "uthash/utarray.h" #include "uthash/utarray.h"
@@ -1117,6 +1118,8 @@ void Maat_hierarchy_compile_mid_udpate(struct Maat_hierarchy_compile_mid* mid, i
assert(*(unsigned long long*)tmp == clause_id); assert(*(unsigned long long*)tmp == clause_id);
} }
else else
{
if(utarray_len(mid->_all_hit_clause_array)<MAX_GROUP_CACHE)
{ {
utarray_push_back(mid->_all_hit_clause_array, &clause_id); utarray_push_back(mid->_all_hit_clause_array, &clause_id);
utarray_sort(mid->_all_hit_clause_array, compare_clause_id); utarray_sort(mid->_all_hit_clause_array, compare_clause_id);
@@ -1124,6 +1127,7 @@ void Maat_hierarchy_compile_mid_udpate(struct Maat_hierarchy_compile_mid* mid, i
} }
} }
} }
}
pthread_rwlock_unlock(&hier->rwlock); pthread_rwlock_unlock(&hier->rwlock);
return; return;
} }

View File

@@ -56,7 +56,7 @@ extern "C"
} }
#endif #endif
int MAAT_FRAME_VERSION_3_1_4_20201104=1; int MAAT_FRAME_VERSION_3_1_4_20201124=1;
int is_valid_table_name(const char* str) int is_valid_table_name(const char* str)
{ {