diff --git a/BitFaster.Caching.UnitTests/Lru/ConcurrentLruBuilderTests.cs b/BitFaster.Caching.UnitTests/Lru/ConcurrentLruBuilderTests.cs index 7d0a651c..9ffa9a59 100644 --- a/BitFaster.Caching.UnitTests/Lru/ConcurrentLruBuilderTests.cs +++ b/BitFaster.Caching.UnitTests/Lru/ConcurrentLruBuilderTests.cs @@ -135,7 +135,7 @@ public void TestIntCapacity() public void TestPartitionCapacity() { ICache lru = new ConcurrentLruBuilder() - .WithCapacity(new FavorFrequencyPartition(6)) + .WithCapacity(new FavorWarmPartition(6)) .Build(); lru.Capacity.Should().Be(6); diff --git a/BitFaster.Caching.UnitTests/Lru/FavorFrequencyPartitionTests.cs b/BitFaster.Caching.UnitTests/Lru/FavorWarmPartitionTests.cs similarity index 79% rename from BitFaster.Caching.UnitTests/Lru/FavorFrequencyPartitionTests.cs rename to BitFaster.Caching.UnitTests/Lru/FavorWarmPartitionTests.cs index 63121b30..7e2c06d0 100644 --- a/BitFaster.Caching.UnitTests/Lru/FavorFrequencyPartitionTests.cs +++ b/BitFaster.Caching.UnitTests/Lru/FavorWarmPartitionTests.cs @@ -9,12 +9,12 @@ namespace BitFaster.Caching.UnitTests.Lru { - public class FavorFrequencyPartitionTests + public class FavorWarmPartitionTests { [Fact] public void WhenCapacityBelow3Throws() { - Action constructor = () => { var x = new FavorFrequencyPartition(2); }; + Action constructor = () => { var x = new FavorWarmPartition(2); }; constructor.Should().Throw(); } @@ -22,7 +22,7 @@ public void WhenCapacityBelow3Throws() [Fact] public void WhenRatioBelow0Throws() { - Action constructor = () => { var x = new FavorFrequencyPartition(5, 0.0); }; + Action constructor = () => { var x = new FavorWarmPartition(5, 0.0); }; constructor.Should().Throw(); } @@ -30,7 +30,7 @@ public void WhenRatioBelow0Throws() [Fact] public void WhenRatioAbove1Throws() { - Action constructor = () => { var x = new FavorFrequencyPartition(5, 1.0); }; + Action constructor = () => { var x = new FavorWarmPartition(5, 1.0); }; constructor.Should().Throw(); } @@ -50,7 +50,7 @@ public void WhenRatioAbove1Throws() [InlineData(100, 10, 80, 10)] public void EqualPartitioningCreatesEqualQueues(int totalCapacity, int expectedHot, int expectedWarm, int expectedCold) { - var p = new FavorFrequencyPartition(totalCapacity); + var p = new FavorWarmPartition(totalCapacity); p.Hot.Should().Be(expectedHot); p.Warm.Should().Be(expectedWarm); diff --git a/BitFaster.Caching/Lru/Builder/LruBuilderBase.cs b/BitFaster.Caching/Lru/Builder/LruBuilderBase.cs index cf9d6b14..5c1b0641 100644 --- a/BitFaster.Caching/Lru/Builder/LruBuilderBase.cs +++ b/BitFaster.Caching/Lru/Builder/LruBuilderBase.cs @@ -26,7 +26,7 @@ protected LruBuilderBase(LruInfo info) /// A ConcurrentLruBuilder public TBuilder WithCapacity(int capacity) { - this.info.Capacity = new FavorFrequencyPartition(capacity); + this.info.Capacity = new FavorWarmPartition(capacity); return this as TBuilder; } diff --git a/BitFaster.Caching/Lru/Builder/LruInfo.cs b/BitFaster.Caching/Lru/Builder/LruInfo.cs index 17c61afc..b3156da4 100644 --- a/BitFaster.Caching/Lru/Builder/LruInfo.cs +++ b/BitFaster.Caching/Lru/Builder/LruInfo.cs @@ -8,7 +8,7 @@ namespace BitFaster.Caching.Lru.Builder { public sealed class LruInfo { - public ICapacityPartition Capacity { get; set; } = new FavorFrequencyPartition(128); + public ICapacityPartition Capacity { get; set; } = new FavorWarmPartition(128); public int ConcurrencyLevel { get; set; } = Defaults.ConcurrencyLevel; diff --git a/BitFaster.Caching/Lru/ConcurrentLru.cs b/BitFaster.Caching/Lru/ConcurrentLru.cs index 53741295..f0417b50 100644 --- a/BitFaster.Caching/Lru/ConcurrentLru.cs +++ b/BitFaster.Caching/Lru/ConcurrentLru.cs @@ -15,7 +15,7 @@ public sealed class ConcurrentLru : TemplateConcurrentLru /// The maximum number of elements that the ConcurrentLru can contain. public ConcurrentLru(int capacity) - : base(Defaults.ConcurrencyLevel, new FavorFrequencyPartition(capacity), EqualityComparer.Default, default, default) + : base(Defaults.ConcurrencyLevel, new FavorWarmPartition(capacity), EqualityComparer.Default, default, default) { } @@ -27,7 +27,7 @@ public ConcurrentLru(int capacity) /// The maximum number of elements that the ConcurrentLru can contain. /// The IEqualityComparer implementation to use when comparing keys. public ConcurrentLru(int concurrencyLevel, int capacity, IEqualityComparer comparer) - : base(concurrencyLevel, new FavorFrequencyPartition(capacity), comparer, default, default) + : base(concurrencyLevel, new FavorWarmPartition(capacity), comparer, default, default) { } diff --git a/BitFaster.Caching/Lru/ConcurrentTLru.cs b/BitFaster.Caching/Lru/ConcurrentTLru.cs index dbb21e4a..f1f8ad1f 100644 --- a/BitFaster.Caching/Lru/ConcurrentTLru.cs +++ b/BitFaster.Caching/Lru/ConcurrentTLru.cs @@ -16,7 +16,7 @@ public sealed class ConcurrentTLru : TemplateConcurrentLruThe maximum number of elements that the ConcurrentTLru can contain. /// The time to live for cached values. public ConcurrentTLru(int capacity, TimeSpan timeToLive) - : base(Defaults.ConcurrencyLevel, new FavorFrequencyPartition(capacity), EqualityComparer.Default, new TLruLongTicksPolicy(timeToLive), default) + : base(Defaults.ConcurrencyLevel, new FavorWarmPartition(capacity), EqualityComparer.Default, new TLruLongTicksPolicy(timeToLive), default) { } @@ -29,7 +29,7 @@ public ConcurrentTLru(int capacity, TimeSpan timeToLive) /// The IEqualityComparer implementation to use when comparing keys. /// The time to live for cached values. public ConcurrentTLru(int concurrencyLevel, int capacity, IEqualityComparer comparer, TimeSpan timeToLive) - : base(concurrencyLevel, new FavorFrequencyPartition(capacity), comparer, new TLruLongTicksPolicy(timeToLive), default) + : base(concurrencyLevel, new FavorWarmPartition(capacity), comparer, new TLruLongTicksPolicy(timeToLive), default) { } diff --git a/BitFaster.Caching/Lru/FastConcurrentLru.cs b/BitFaster.Caching/Lru/FastConcurrentLru.cs index 7d89a39e..dcde4ddb 100644 --- a/BitFaster.Caching/Lru/FastConcurrentLru.cs +++ b/BitFaster.Caching/Lru/FastConcurrentLru.cs @@ -13,7 +13,7 @@ public sealed class FastConcurrentLru : TemplateConcurrentLru /// The maximum number of elements that the FastConcurrentLru can contain. public FastConcurrentLru(int capacity) - : base(Defaults.ConcurrencyLevel, new FavorFrequencyPartition(capacity), EqualityComparer.Default, default, default) + : base(Defaults.ConcurrencyLevel, new FavorWarmPartition(capacity), EqualityComparer.Default, default, default) { } @@ -25,7 +25,7 @@ public FastConcurrentLru(int capacity) /// The maximum number of elements that the FastConcurrentLru can contain. /// The IEqualityComparer implementation to use when comparing keys. public FastConcurrentLru(int concurrencyLevel, int capacity, IEqualityComparer comparer) - : base(concurrencyLevel, new FavorFrequencyPartition(capacity), comparer, default, default) + : base(concurrencyLevel, new FavorWarmPartition(capacity), comparer, default, default) { } diff --git a/BitFaster.Caching/Lru/FastConcurrentTLru.cs b/BitFaster.Caching/Lru/FastConcurrentTLru.cs index a74a4ddd..d5f30746 100644 --- a/BitFaster.Caching/Lru/FastConcurrentTLru.cs +++ b/BitFaster.Caching/Lru/FastConcurrentTLru.cs @@ -14,7 +14,7 @@ public sealed class FastConcurrentTLru : TemplateConcurrentLruThe maximum number of elements that the FastConcurrentTLru can contain. /// The time to live for cached values. public FastConcurrentTLru(int capacity, TimeSpan timeToLive) - : base(Defaults.ConcurrencyLevel, new FavorFrequencyPartition(capacity), EqualityComparer.Default, new TLruLongTicksPolicy(timeToLive), default) + : base(Defaults.ConcurrencyLevel, new FavorWarmPartition(capacity), EqualityComparer.Default, new TLruLongTicksPolicy(timeToLive), default) { } @@ -27,7 +27,7 @@ public FastConcurrentTLru(int capacity, TimeSpan timeToLive) /// The IEqualityComparer implementation to use when comparing keys. /// The time to live for cached values. public FastConcurrentTLru(int concurrencyLevel, int capacity, IEqualityComparer comparer, TimeSpan timeToLive) - : base(concurrencyLevel, new FavorFrequencyPartition(capacity), comparer, new TLruLongTicksPolicy(timeToLive), default) + : base(concurrencyLevel, new FavorWarmPartition(capacity), comparer, new TLruLongTicksPolicy(timeToLive), default) { } diff --git a/BitFaster.Caching/Lru/FavorFrequencyPartition.cs b/BitFaster.Caching/Lru/FavorWarmPartition.cs similarity index 90% rename from BitFaster.Caching/Lru/FavorFrequencyPartition.cs rename to BitFaster.Caching/Lru/FavorWarmPartition.cs index 102040b9..a03fa2d4 100644 --- a/BitFaster.Caching/Lru/FavorFrequencyPartition.cs +++ b/BitFaster.Caching/Lru/FavorWarmPartition.cs @@ -10,7 +10,7 @@ namespace BitFaster.Caching.Lru /// A capacity partitioning scheme that favors frequently accessed items by allocating 80% /// capacity to the warm queue. /// - public class FavorFrequencyPartition : ICapacityPartition + public class FavorWarmPartition : ICapacityPartition { private readonly int hotCapacity; private readonly int warmCapacity; @@ -20,12 +20,12 @@ public class FavorFrequencyPartition : ICapacityPartition // This favors frequently accessed items. public const double DefaultWarmRatio = 0.8; - public FavorFrequencyPartition(int totalCapacity) + public FavorWarmPartition(int totalCapacity) : this(totalCapacity, DefaultWarmRatio) { } - public FavorFrequencyPartition(int totalCapacity, double warmRatio) + public FavorWarmPartition(int totalCapacity, double warmRatio) { var (hot, warm, cold) = ComputeQueueCapacity(totalCapacity, warmRatio); this.hotCapacity = hot;