Skip to content
Permalink
Browse files

Auto merge of #24339 - servo:sharing-cache-size, r=emilio

Remove obsolete logic for LRUCache size

The LRUCache implementation has been replaced, and no longer requires a backing store larger than its capacity.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24339)
<!-- Reviewable:end -->
  • Loading branch information...
bors-servo committed Oct 10, 2019
2 parents dd1c183 + d0913ec commit 6ab9f425b9b77e173e80230fda03995bf594ed83
Showing with 3 additions and 6 deletions.
  1. +3 −6 components/style/sharing/mod.rs
@@ -90,17 +90,14 @@ use uluru::{Entry, LRUCache};
mod checks;

/// The amount of nodes that the style sharing candidate cache should hold at
/// most. We'd somewhat like 32, but ArrayDeque only implements certain backing
/// store sizes. A cache size of 32 would mean a backing store of 33, but
/// that's not an implemented size: we can do 32 or 40.
/// most.
///
/// The cache size was chosen by measuring style sharing and resulting
/// performance on a few pages; sizes up to about 32 were giving good sharing
/// improvements (e.g. 3x fewer styles having to be resolved than at size 8) and
/// slight performance improvements. Sizes larger than 32 haven't really been
/// tested.
pub const SHARING_CACHE_SIZE: usize = 31;
const SHARING_CACHE_BACKING_STORE_SIZE: usize = SHARING_CACHE_SIZE + 1;
pub const SHARING_CACHE_SIZE: usize = 32;

/// Opaque pointer type to compare ComputedValues identities.
#[derive(Clone, Debug, Eq, PartialEq)]
@@ -426,7 +423,7 @@ impl<E: TElement> StyleSharingTarget<E> {
}

struct SharingCacheBase<Candidate> {
entries: LRUCache<[Entry<Candidate>; SHARING_CACHE_BACKING_STORE_SIZE]>,
entries: LRUCache<[Entry<Candidate>; SHARING_CACHE_SIZE]>,
}

impl<Candidate> Default for SharingCacheBase<Candidate> {

0 comments on commit 6ab9f42

Please sign in to comment.
You can’t perform that action at this time.