-
Notifications
You must be signed in to change notification settings - Fork 15
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
backend feature compile can be a long pole #456
Comments
may I also suggest:
in #443 you wrote:
since auto-FEA generation and FEA compilation are blocked on glyph order, we might also try to speed the latter so that they get an early start? |
+1, but it looks to me like on a machine with lots of cores fea will still be a problem. #443 (comment) has a plot on a 72-way system that seesm to show this. |
#458 for glyph order |
I've dipped into this a little bit, and have some useful preliminary findings, based on some profiling of the compilation of Google Sans (running fea-rs directly, using as input the fea we generate internally, dumped with
These are my preliminary thoughts; I'll dig a bit more and see if anything else jumps out at me. edit: We're creating a lot of nodes for GPOS, and this is why dropping Arcs is showing up in our trace, and is likely also significantly impacting parsing time? see cmyr/fea-rs#240 |
So if we generated data structures directly rather than writing fea to parse it would make a significant difference? |
let's see how much I can improve the situation by addressing cmyr/fea-rs#240? But using |
#443 reveals features can be the long pole. There are two non-exclusive options to improve this:
feature foo { pos a b -5; sub x by y; }
(courtesy of @cmyr)We should start by profiling. flamegraphs of the overall build are fairly noisy, perhaps we can rig fea-rs to be run on just the debug feature file?
The text was updated successfully, but these errors were encountered: