servo/components/layout
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
..
css layout: Implement CSS transitions per CSS-TRANSITIONS § 2. 2015-03-31 08:46:11 -07:00
animation.rs layout: Implement CSS transitions per CSS-TRANSITIONS § 2. 2015-03-31 08:46:11 -07:00
block.rs auto merge of #5349 : mbrubeck/servo/placement-size, r=pcwalton 2015-03-31 14:15:59 -06:00
Cargo.toml layout: Implement CSS transitions per CSS-TRANSITIONS § 2. 2015-03-31 08:46:11 -07:00
construct.rs Use usize for debug ids. 2015-03-28 22:37:41 +01:00
context.rs layout: Implement CSS transitions per CSS-TRANSITIONS § 2. 2015-03-31 08:46:11 -07:00
data.rs Replace unsafe_blocks by unsafe_code. 2015-03-21 10:27:32 +01:00
display_list_builder.rs Replace unsafe_blocks by unsafe_code. 2015-03-21 10:27:32 +01:00
floats.rs Use usize for Floats::len. 2015-03-29 12:47:25 +02:00
flow.rs Use usize for debug ids. 2015-03-28 22:37:41 +01:00
flow_list.rs Use usize in flow_list. 2015-03-29 12:43:44 +02:00
flow_ref.rs Replace unsafe_blocks by unsafe_code. 2015-03-21 10:27:32 +01:00
fragment.rs Use isize/usize in range. 2015-03-28 15:36:36 +01:00
generated_content.rs Upgrade rustc to d3c49d2140fc65e8bb7d7cf25bfe74dda6ce5ecf/rustc-1.0.0-dev. 2015-03-18 13:18:31 -04:00
incremental.rs layout: Implement ordered lists, CSS counters, and quotes per CSS 2.1 2015-03-09 17:13:45 -07:00
inline.rs Use isize/usize in range. 2015-03-28 15:36:36 +01:00
layout_debug.rs Remove old_path usage from layout. 2015-03-25 22:36:01 +01:00
layout_task.rs gfx: Perform more aggressive caching in 2015-04-01 08:58:16 -07:00
lib.rs layout: Implement CSS transitions per CSS-TRANSITIONS § 2. 2015-03-31 08:46:11 -07:00
list_item.rs Replace unsafe_blocks by unsafe_code. 2015-03-21 10:27:32 +01:00
model.rs Replace unsafe_blocks by unsafe_code. 2015-03-21 10:27:32 +01:00
opaque_node.rs Replace unsafe_blocks by unsafe_code. 2015-03-21 10:27:32 +01:00
parallel.rs Use usize for UnsafeFlow. 2015-03-29 12:51:27 +02:00
sequential.rs layout: Implement ordered lists, CSS counters, and quotes per CSS 2.1 2015-03-09 17:13:45 -07:00
table.rs Replace unsafe_blocks by unsafe_code. 2015-03-21 10:27:32 +01:00
table_caption.rs Replace unsafe_blocks by unsafe_code. 2015-03-21 10:27:32 +01:00
table_cell.rs Replace unsafe_blocks by unsafe_code. 2015-03-21 10:27:32 +01:00
table_colgroup.rs Replace unsafe_blocks by unsafe_code. 2015-03-21 10:27:32 +01:00
table_row.rs Replace unsafe_blocks by unsafe_code. 2015-03-21 10:27:32 +01:00
table_rowgroup.rs Replace unsafe_blocks by unsafe_code. 2015-03-21 10:27:32 +01:00
table_wrapper.rs Replace unsafe_blocks by unsafe_code. 2015-03-21 10:27:32 +01:00
text.rs Replace unsafe_blocks by unsafe_code. 2015-03-21 10:27:32 +01:00
traversal.rs layout: Implement CSS transitions per CSS-TRANSITIONS § 2. 2015-03-31 08:46:11 -07:00
wrapper.rs layout: Implement CSS transitions per CSS-TRANSITIONS § 2. 2015-03-31 08:46:11 -07:00