[HarfBuzz] harfbuzz: Changes to 'accelerate-lookups'

Behdad Esfahbod behdad at kemper.freedesktop.org
Mon Apr 29 18:21:56 PDT 2013


New branch 'accelerate-lookups' available with the following commits:
commit 1761f9b9b4badd33e2c9b60242c5f421e36025cd
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Mon Apr 29 21:16:15 2013 -0400

    [OTLayout] Accelerate lookups by batching
    
    If we need to apply many many lookups, we can fasten that up by applying
    them in batches.  For each batch we keep the union of the coverage of
    the lookups participating.  We can then skip glyph ranges that do NOT
    participate in any lookup in the batch.  The batch partition is
    determined optimally by a mathematical probability model on the glyphs
    and a dynamic-program to optimize the partition.
    
    The net effect is 30% speedup on Amiri.  the downside is more memory
    consuption as each batch will keep an hb_set_t of its coverage.
    
    I'm not yet convinced that the tradeoff is worth pursuing.  I'm trying
    to find out ways to optimized this more, with less memory overhead.
    
    This work also ignores the number of subtables per lookup.  That may
    prove to be very important for the performance numbers from here on.

commit 9223b36b1401dea11d95bdd67bd6678209d86e89
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Sun Apr 21 16:03:27 2013 -0400

    [OTLayout] Add start/end to apply_string()
    
    No functional change.

commit 906ad14cceac0f8c0068389ed77cec9c6dca7121
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Wed Apr 24 18:05:36 2013 -0400

    [OTLayout] Make is_inplace() take table_index

commit 90a609e565ebc87de87baaa5e55718c5f158822d
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Wed Apr 24 16:42:05 2013 -0400

    [OTLayout] Add is_inplace() method to GSUB

commit 34be28eedcbbe80c4308a7683dad137a0023e87d
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Sun Apr 21 16:34:18 2013 -0400

    [API] Add hb_ot_layout_lookup_get_coverage()




More information about the HarfBuzz mailing list