private CacheBuilderFactory cacheFactory() { return new CacheBuilderFactory() .withKeyStrengths(ImmutableSet.of(Strength.STRONG, Strength.WEAK)) .withValueStrengths(ImmutableSet.copyOf(Strength.values())) .withConcurrencyLevels(ImmutableSet.of(1, 4, 16, 64)) .withMaximumSizes(ImmutableSet.of(0, 1, 10, 100, 1000)) .withInitialCapacities(ImmutableSet.of(0, 1, 10, 100, 1000)) .withExpireAfterWrites( ImmutableSet.of( DurationSpec.of(0, SECONDS), DurationSpec.of(1, SECONDS), DurationSpec.of(1, DAYS))) .withExpireAfterAccesses( ImmutableSet.of( DurationSpec.of(0, SECONDS), DurationSpec.of(1, SECONDS), DurationSpec.of(1, DAYS))) .withRefreshes(ImmutableSet.of(DurationSpec.of(1, SECONDS), DurationSpec.of(1, DAYS))); }
private CacheBuilderFactory cacheFactory() { // This is trickier than expected. We plan to put 15 values in each of these (WARMUP_MIN to // WARMUP_MAX), but the tests assume no values get evicted. Even with a maximumSize of 100, one // of the values gets evicted. With weak keys, we use identity equality, which means using // System.identityHashCode, which means the assignment of keys to segments is nondeterministic, // so more than (maximumSize / #segments) keys could get assigned to the same segment, which // would cause one to be evicted. return new CacheBuilderFactory() .withKeyStrengths(ImmutableSet.of(Strength.STRONG, Strength.WEAK)) .withValueStrengths(ImmutableSet.copyOf(Strength.values())) .withConcurrencyLevels(ImmutableSet.of(1, 4, 16, 64)) .withMaximumSizes(ImmutableSet.of(400, 1000)) .withInitialCapacities(ImmutableSet.of(0, 1, 10, 100, 1000)) .withExpireAfterWrites( ImmutableSet.of( // DurationSpec.of(500, MILLISECONDS), DurationSpec.of(1, SECONDS), DurationSpec.of(1, DAYS))) .withExpireAfterAccesses( ImmutableSet.of( // DurationSpec.of(500, MILLISECONDS), DurationSpec.of(1, SECONDS), DurationSpec.of(1, DAYS))) .withRefreshes( ImmutableSet.of( // DurationSpec.of(500, MILLISECONDS), DurationSpec.of(1, SECONDS), DurationSpec.of(1, DAYS))); }
private CacheBuilderFactory cacheFactory() { return new CacheBuilderFactory() .withKeyStrengths(ImmutableSet.of(Strength.STRONG, Strength.WEAK)) .withValueStrengths(ImmutableSet.copyOf(Strength.values())) .withConcurrencyLevels(ImmutableSet.of(1, 4, 16, 64)) .withMaximumSizes(ImmutableSet.of(0, 1, 10, 100, 1000)) .withInitialCapacities(ImmutableSet.of(0, 1, 10, 100, 1000)) .withExpireAfterWrites(ImmutableSet.of( DurationSpec.of(0, SECONDS), DurationSpec.of(1, SECONDS), DurationSpec.of(1, DAYS))) .withExpireAfterAccesses(ImmutableSet.of( DurationSpec.of(0, SECONDS), DurationSpec.of(1, SECONDS), DurationSpec.of(1, DAYS))) .withRefreshes(ImmutableSet.of( DurationSpec.of(1, SECONDS), DurationSpec.of(1, DAYS))); }
private CacheBuilderFactory cacheFactory() { // This is trickier than expected. We plan to put 15 values in each of these (WARMUP_MIN to // WARMUP_MAX), but the tests assume no values get evicted. Even with a maximumSize of 100, one // of the values gets evicted. With weak keys, we use identity equality, which means using // System.identityHashCode, which means the assignment of keys to segments is nondeterministic, // so more than (maximumSize / #segments) keys could get assigned to the same segment, which // would cause one to be evicted. return new CacheBuilderFactory() .withKeyStrengths(ImmutableSet.of(Strength.STRONG, Strength.WEAK)) .withValueStrengths(ImmutableSet.copyOf(Strength.values())) .withConcurrencyLevels(ImmutableSet.of(1, 4, 16, 64)) .withMaximumSizes(ImmutableSet.of(400, 1000)) .withInitialCapacities(ImmutableSet.of(0, 1, 10, 100, 1000)) .withExpireAfterWrites(ImmutableSet.of( // DurationSpec.of(500, MILLISECONDS), DurationSpec.of(1, SECONDS), DurationSpec.of(1, DAYS))) .withExpireAfterAccesses(ImmutableSet.of( // DurationSpec.of(500, MILLISECONDS), DurationSpec.of(1, SECONDS), DurationSpec.of(1, DAYS))) .withRefreshes(ImmutableSet.of( // DurationSpec.of(500, MILLISECONDS), DurationSpec.of(1, SECONDS), DurationSpec.of(1, DAYS))); }
private CacheBuilderFactory cacheFactory() { return new CacheBuilderFactory() .withKeyStrengths(ImmutableSet.of(Strength.STRONG, Strength.WEAK)) .withValueStrengths(ImmutableSet.copyOf(Strength.values())) .withConcurrencyLevels(ImmutableSet.of(1, 4, 16, 64)) .withMaximumSizes(ImmutableSet.of(0, 1, 10, 100, 1000)) .withInitialCapacities(ImmutableSet.of(0, 1, 10, 100, 1000)) .withExpireAfterWrites(ImmutableSet.of( DurationSpec.of(0, SECONDS), DurationSpec.of(1, SECONDS), DurationSpec.of(1, DAYS))) .withExpireAfterAccesses(ImmutableSet.of( DurationSpec.of(0, SECONDS), DurationSpec.of(1, SECONDS), DurationSpec.of(1, DAYS))) .withRefreshes(ImmutableSet.of( DurationSpec.of(1, SECONDS), DurationSpec.of(1, DAYS))); }
private CacheBuilderFactory cacheFactory() { // This is trickier than expected. We plan to put 15 values in each of these (WARMUP_MIN to // WARMUP_MAX), but the tests assume no values get evicted. Even with a maximumSize of 100, one // of the values gets evicted. With weak keys, we use identity equality, which means using // System.identityHashCode, which means the assignment of keys to segments is nondeterministic, // so more than (maximumSize / #segments) keys could get assigned to the same segment, which // would cause one to be evicted. return new CacheBuilderFactory() .withKeyStrengths(ImmutableSet.of(Strength.STRONG, Strength.WEAK)) .withValueStrengths(ImmutableSet.copyOf(Strength.values())) .withConcurrencyLevels(ImmutableSet.of(1, 4, 16, 64)) .withMaximumSizes(ImmutableSet.of(400, 1000)) .withInitialCapacities(ImmutableSet.of(0, 1, 10, 100, 1000)) .withExpireAfterWrites(ImmutableSet.of( // DurationSpec.of(500, MILLISECONDS), DurationSpec.of(1, SECONDS), DurationSpec.of(1, DAYS))) .withExpireAfterAccesses(ImmutableSet.of( // DurationSpec.of(500, MILLISECONDS), DurationSpec.of(1, SECONDS), DurationSpec.of(1, DAYS))) .withRefreshes(ImmutableSet.of( // DurationSpec.of(500, MILLISECONDS), DurationSpec.of(1, SECONDS), DurationSpec.of(1, DAYS))); }