同时命中compile数量过多时,仅对MAX_GROUP_CACHE个数中间结果的进行排序,减少循环的次数
This commit is contained in:
@@ -1119,11 +1119,14 @@ void Maat_hierarchy_compile_mid_udpate(struct Maat_hierarchy_compile_mid* mid, i
|
||||
}
|
||||
else
|
||||
{
|
||||
if(utarray_len(mid->_all_hit_clause_array)<MAX_GROUP_CACHE)
|
||||
{
|
||||
utarray_push_back(mid->_all_hit_clause_array, &clause_id);
|
||||
utarray_sort(mid->_all_hit_clause_array, compare_clause_id);
|
||||
if(utarray_len(mid->_all_hit_clause_array)> MAX_GROUP_CACHE)
|
||||
{
|
||||
pthread_rwlock_unlock(&hier->rwlock);
|
||||
return;
|
||||
}
|
||||
utarray_push_back(mid->_all_hit_clause_array, &clause_id);
|
||||
utarray_sort(mid->_all_hit_clause_array, compare_clause_id);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user