[subset-perf] Speed up Coverage::serialize by caching iterator.

This commit is contained in:
Garret Rieger 2022-05-18 19:58:55 +00:00 committed by Behdad Esfahbod
parent 14b18725f0
commit 482c6e5dc4
1 changed files with 5 additions and 2 deletions

View File

@ -1725,9 +1725,12 @@ struct Coverage
| hb_filter (glyphset) | hb_filter (glyphset)
| hb_map_retains_sorting (glyph_map) | hb_map_retains_sorting (glyph_map)
; ;
// Cache the iterator result as it will be iterated multiple times
// by the serialize code below.
hb_sorted_vector_t<hb_codepoint_t> glyphs (it);
bool ret = bool (it); bool ret = bool (glyphs);
Coverage_serialize (c->serializer, it); Coverage_serialize (c->serializer, glyphs.iter ());
return_trace (ret); return_trace (ret);
} }