-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Try to port set_digest #121
Conversation
@behdad In bool add_range (hb_codepoint_t a, hb_codepoint_t b)
{
return (int) head.add_range (a, b) | (int) tail.add_range (a, b);
} just bool add_range (hb_codepoint_t a, hb_codepoint_t b)
{
return head.add_range || tail.add_range (a, b);
} or am I missing something? EDIT: Nevermind, the second one would short-circuit while the first one would not, I think. |
32f2ae6
to
fe4d974
Compare
@RazrFalcon So, turns out we actually have something similar to digest set already, I just didn't notice because it was named differently. :p But it was only used in two locations. Anyway, I replaced it with the harfbuzz set digest implementation and I'm seeing some nice speedups already! I'll see whether I can find the remaining places where it's used in harfbuzz as well. One thing to note is that I'm not sure I'll be able to replicate the harfbuzz structure 1:1, because in harfbuzz there is this
|
Great!
Yes, looks like laurmaedje decided to implement it that way. The whole GSUB/GPOS/OpenType layout was written by him. |
This looks great! These are places that HB uses the set-digest:
[0] Available from https://github.com/harfbuzz/harfbuzz-monster-fonts |
Thanks! |
With the buffer digest, note that you need to:
|
Yep, no worries, those are already included. 😄 |
Alright, AAT and GDEF are a bit trickier unfortunately because from what I can tell We still have some nice overall performance improvements! |
Thanks! |
Let's see how it goes.