Commit 1f519c25670e8dfe694a7b3fa71c5bc7263b1b1f

Ebrahim Byagowi 2020-08-07T01:21:19

[glyf] Optimize retrieval of hmtx/vmtx/gvar This should make glyf/gvar faster as makes it to invoke less table wrapper atomic operations and things. $ meson build -Dexperimental_api=true --buildtype=release && ninja -Cbuild && build/perf/perf "--benchmark_filter=glyf.*- ot -" Before: extents/glyf - ot - SourceSerifVariable 46091 ns 46036 ns 16173 extents/glyf/vf - ot - SourceSerifVariable 4160142 ns 4154913 ns 174 extents/glyf - ot - Comfortaa 25754 ns 25726 ns 27030 extents/glyf/vf - ot - Comfortaa 2627804 ns 2624596 ns 265 extents/glyf - ot - Roboto 33556 ns 33540 ns 18513 draw/glyf - ot - SourceSerifVariable 2716848 ns 2715438 ns 256 draw/glyf/vf - ot - SourceSerifVariable 4602379 ns 4598907 ns 151 draw/glyf - ot - Comfortaa 1659364 ns 1658142 ns 417 draw/glyf/vf - ot - Comfortaa 2845100 ns 2842549 ns 246 draw/glyf - ot - Roboto 1571509 ns 1570060 ns 442 After: extents/glyf - ot - SourceSerifVariable 34738 ns 34713 ns 21332 extents/glyf/vf - ot - SourceSerifVariable 3700510 ns 3698104 ns 187 extents/glyf - ot - Comfortaa 21604 ns 21595 ns 31907 extents/glyf/vf - ot - Comfortaa 2324787 ns 2323440 ns 296 extents/glyf - ot - Roboto 31259 ns 31246 ns 21814 draw/glyf - ot - SourceSerifVariable 2689230 ns 2687589 ns 260 draw/glyf/vf - ot - SourceSerifVariable 4625135 ns 4622036 ns 131 draw/glyf - ot - Comfortaa 1690336 ns 1689454 ns 402 draw/glyf/vf - ot - Comfortaa 2898748 ns 2897074 ns 241 draw/glyf - ot - Roboto 1570911 ns 1570138 ns 440