mirror of
https://github.com/VSadov/Satori.git
synced 2025-06-08 03:27:04 +09:00
bucket tweaks
This commit is contained in:
parent
547d8d0ea0
commit
8cd5724a3a
3 changed files with 4 additions and 4 deletions
|
@ -3491,7 +3491,7 @@ void SatoriRecycler::KeepRegion(SatoriRegion* curRegion)
|
|||
// we will try reusing half-empty regions, unless they are too fragmented
|
||||
curRegion->ReusableFor() = SatoriRegion::ReuseLevel::None;
|
||||
if (curRegion->Occupancy() < Satori::REGION_SIZE_GRANULARITY / 2 &&
|
||||
curRegion->HasFreeSpaceInTop4Buckets())
|
||||
curRegion->HasFreeSpaceInTopNBuckets(IsLowLatencyMode() ? 6 : 2))
|
||||
{
|
||||
_ASSERTE(curRegion->Size() == Satori::REGION_SIZE_GRANULARITY);
|
||||
|
||||
|
|
|
@ -331,10 +331,10 @@ bool SatoriRegion::HasFreeSpaceInTopBucket()
|
|||
return m_freeLists[Satori::FREELIST_COUNT - 1];
|
||||
}
|
||||
|
||||
bool SatoriRegion::HasFreeSpaceInTop4Buckets()
|
||||
bool SatoriRegion::HasFreeSpaceInTopNBuckets(int n)
|
||||
{
|
||||
//TUNING: more buckets means more aggressive demotion.
|
||||
for (int bucket = Satori::FREELIST_COUNT - 4; bucket < Satori::FREELIST_COUNT; bucket++)
|
||||
for (int bucket = Satori::FREELIST_COUNT - n; bucket < Satori::FREELIST_COUNT; bucket++)
|
||||
{
|
||||
if (m_freeLists[bucket])
|
||||
{
|
||||
|
|
|
@ -79,7 +79,7 @@ public:
|
|||
void AddFreeSpace(SatoriObject* freeObj);
|
||||
|
||||
bool HasFreeSpaceInTopBucket();
|
||||
bool HasFreeSpaceInTop4Buckets();
|
||||
bool HasFreeSpaceInTopNBuckets(int n);
|
||||
|
||||
void StartEscapeTrackingRelease(size_t threadTag);
|
||||
void StopEscapeTracking();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue