mirror of
https://github.com/boostorg/unordered.git
synced 2025-07-30 03:17:15 +02:00
replaced get_cumulative_stats() with direct access to cstats
This commit is contained in:
@ -514,8 +514,7 @@ public:
|
|||||||
x.arrays=ah.release();
|
x.arrays=ah.release();
|
||||||
x.size_ctrl.ml=x.initial_max_load();
|
x.size_ctrl.ml=x.initial_max_load();
|
||||||
x.size_ctrl.size=0;
|
x.size_ctrl.size=0;
|
||||||
BOOST_UNORDERED_SWAP_STATS(
|
BOOST_UNORDERED_SWAP_STATS(this->cstats,x.cstats);
|
||||||
this->get_cumulative_stats(),x.get_cumulative_stats());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
concurrent_table(compatible_nonconcurrent_table&& x):
|
concurrent_table(compatible_nonconcurrent_table&& x):
|
||||||
@ -1216,8 +1215,7 @@ private:
|
|||||||
if(BOOST_LIKELY(bool(this->pred()(x,this->key_from(p[n]))))){
|
if(BOOST_LIKELY(bool(this->pred()(x,this->key_from(p[n]))))){
|
||||||
f(pg,n,p+n);
|
f(pg,n,p+n);
|
||||||
BOOST_UNORDERED_ADD_STATS(
|
BOOST_UNORDERED_ADD_STATS(
|
||||||
this->get_cumulative_stats().successful_lookup,
|
this->cstats.successful_lookup,(pb.length(),num_cmps));
|
||||||
(pb.length(),num_cmps));
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1226,14 +1224,13 @@ private:
|
|||||||
}
|
}
|
||||||
if(BOOST_LIKELY(pg->is_not_overflowed(hash))){
|
if(BOOST_LIKELY(pg->is_not_overflowed(hash))){
|
||||||
BOOST_UNORDERED_ADD_STATS(
|
BOOST_UNORDERED_ADD_STATS(
|
||||||
this->get_cumulative_stats().unsuccessful_lookup,
|
this->cstats.unsuccessful_lookup,(pb.length(),num_cmps));
|
||||||
(pb.length(),num_cmps));
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while(BOOST_LIKELY(pb.next(this->arrays.groups_size_mask)));
|
while(BOOST_LIKELY(pb.next(this->arrays.groups_size_mask)));
|
||||||
BOOST_UNORDERED_ADD_STATS(
|
BOOST_UNORDERED_ADD_STATS(
|
||||||
this->get_cumulative_stats().unsuccessful_lookup,(pb.length(),num_cmps));
|
this->cstats.unsuccessful_lookup,(pb.length(),num_cmps));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1514,8 +1511,7 @@ private:
|
|||||||
this->construct_element(p,std::forward<Args>(args)...);
|
this->construct_element(p,std::forward<Args>(args)...);
|
||||||
rslot.commit();
|
rslot.commit();
|
||||||
rsize.commit();
|
rsize.commit();
|
||||||
BOOST_UNORDERED_ADD_STATS(
|
BOOST_UNORDERED_ADD_STATS(this->cstats.insertion,(pb.length()));
|
||||||
this->get_cumulative_stats().insertion,(pb.length()));
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
pg->mark_overflow(hash);
|
pg->mark_overflow(hash);
|
||||||
|
@ -1719,7 +1719,7 @@ public:
|
|||||||
auto n=unchecked_countr_zero(mask);
|
auto n=unchecked_countr_zero(mask);
|
||||||
if(BOOST_LIKELY(bool(pred()(x,key_from(p[n]))))){
|
if(BOOST_LIKELY(bool(pred()(x,key_from(p[n]))))){
|
||||||
BOOST_UNORDERED_ADD_STATS(
|
BOOST_UNORDERED_ADD_STATS(
|
||||||
get_cumulative_stats().successful_lookup,(pb.length(),num_cmps));
|
cstats.successful_lookup,(pb.length(),num_cmps));
|
||||||
return {pg,n,p+n};
|
return {pg,n,p+n};
|
||||||
}
|
}
|
||||||
mask&=mask-1;
|
mask&=mask-1;
|
||||||
@ -1727,13 +1727,13 @@ public:
|
|||||||
}
|
}
|
||||||
if(BOOST_LIKELY(pg->is_not_overflowed(hash))){
|
if(BOOST_LIKELY(pg->is_not_overflowed(hash))){
|
||||||
BOOST_UNORDERED_ADD_STATS(
|
BOOST_UNORDERED_ADD_STATS(
|
||||||
get_cumulative_stats().unsuccessful_lookup,(pb.length(),num_cmps));
|
cstats.unsuccessful_lookup,(pb.length(),num_cmps));
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while(BOOST_LIKELY(pb.next(arrays.groups_size_mask)));
|
while(BOOST_LIKELY(pb.next(arrays.groups_size_mask)));
|
||||||
BOOST_UNORDERED_ADD_STATS(
|
BOOST_UNORDERED_ADD_STATS(
|
||||||
get_cumulative_stats().unsuccessful_lookup,(pb.length(),num_cmps));
|
cstats.unsuccessful_lookup,(pb.length(),num_cmps));
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1842,11 +1842,6 @@ public:
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
cumulative_stats& get_cumulative_stats()const noexcept
|
|
||||||
{
|
|
||||||
return cstats;
|
|
||||||
}
|
|
||||||
|
|
||||||
void reset_stats()
|
void reset_stats()
|
||||||
{
|
{
|
||||||
cstats.insertion.reset();
|
cstats.insertion.reset();
|
||||||
@ -2356,8 +2351,7 @@ private:
|
|||||||
auto p=arrays_.elements()+pos*N+n;
|
auto p=arrays_.elements()+pos*N+n;
|
||||||
construct_element(p,std::forward<Args>(args)...);
|
construct_element(p,std::forward<Args>(args)...);
|
||||||
pg->set(n,hash);
|
pg->set(n,hash);
|
||||||
BOOST_UNORDERED_ADD_STATS(
|
BOOST_UNORDERED_ADD_STATS(cstats.insertion,(pb.length()));
|
||||||
get_cumulative_stats().insertion,(pb.length()));
|
|
||||||
return {pg,n,p};
|
return {pg,n,p};
|
||||||
}
|
}
|
||||||
else pg->mark_overflow(hash);
|
else pg->mark_overflow(hash);
|
||||||
|
@ -593,8 +593,7 @@ private:
|
|||||||
x.arrays=ah.release();
|
x.arrays=ah.release();
|
||||||
x.size_ctrl.ml=x.initial_max_load();
|
x.size_ctrl.ml=x.initial_max_load();
|
||||||
x.size_ctrl.size=0;
|
x.size_ctrl.size=0;
|
||||||
BOOST_UNORDERED_SWAP_STATS(
|
BOOST_UNORDERED_SWAP_STATS(this->cstats,x.cstats);
|
||||||
this->get_cumulative_stats(),x.get_cumulative_stats());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename ExclusiveLockGuard>
|
template<typename ExclusiveLockGuard>
|
||||||
|
Reference in New Issue
Block a user