servo/components/gfx
Patrick Walton 750bbed2cb gfx: Perform more aggressive caching in
`FontContext::get_layout_font_group_for_style()`.

There are several optimizations here:

* We make font families atoms, to allow for quicker comparisons.

* We precalculate an FNV hash of the relevant fields of the font style
  structure.

* When obtaining a platform font group, we first check pointer equality
  for the font style. If there's no match, we go to the FNV hash. Only
  if both caches miss do we construct and cache a font group. Note that
  individual fonts are *also* cached; thus there are two layers of
  caching here.

15% improvement in total layout thread time for Facebook Timeline.
2015-04-01 08:58:16 -07:00
..
display_list Rename lots of profiling-related things. 2015-03-25 16:00:23 -07:00
platform Update some code that's feature-gated under core. 2015-03-21 18:44:39 +01:00
text Use isize/usize in range. 2015-03-28 15:36:36 +01:00
buffer_map.rs Upgrade rustc to d3c49d2140fc65e8bb7d7cf25bfe74dda6ce5ecf/rustc-1.0.0-dev. 2015-03-18 13:18:31 -04:00
Cargo.toml gfx: Perform more aggressive caching in 2015-04-01 08:58:16 -07:00
color.rs Companion single Color patch. 2015-02-13 14:49:28 -08:00
filters.rs Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev. 2015-01-28 10:16:49 +10:00
font.rs Fix warnings in gfx. 2015-02-13 11:00:20 +01:00
font_cache_task.rs gfx: Perform more aggressive caching in 2015-04-01 08:58:16 -07:00
font_context.rs gfx: Perform more aggressive caching in 2015-04-01 08:58:16 -07:00
font_template.rs gfx: Perform more aggressive caching in 2015-04-01 08:58:16 -07:00
lib.rs gfx: Perform more aggressive caching in 2015-04-01 08:58:16 -07:00
paint_context.rs Use isize/usize in range. 2015-03-28 15:36:36 +01:00
paint_task.rs layout: Implement CSS transitions per CSS-TRANSITIONS § 2. 2015-03-31 08:46:11 -07:00