同时命中compile数量过多时,仅对MAX_GROUP_CACHE个数中间结果的进行排序,减少循环的次数

This commit is contained in:
liuxueli
2020-11-25 11:28:01 +06:00
parent b9779088b9
commit e6a7f24863

View File

@@ -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);
}
}
}