Skip to content
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

Splitting of PairPos format 2 is non-optimal #601

Closed
cmyr opened this issue Sep 7, 2023 · 1 comment
Closed

Splitting of PairPos format 2 is non-optimal #601

cmyr opened this issue Sep 7, 2023 · 1 comment

Comments

@cmyr
Copy link
Member

cmyr commented Sep 7, 2023

The process by which we compute split points for this table is naive, and mostly involves just computing the full subgraph size and using that to determine when to split, but this does not take into account how a table packs, e.g. that we can order things in such away as to not always expect an offset from the root object to reach the last thing packed.

I suspect that a slightly more careful calculation could reduce the number of required splits significantly, which would save 100s to 1000s of bytes, but also improve the overall efficiency of the packing code, which would need to handle fewer tables.

@cmyr
Copy link
Member Author

cmyr commented Sep 13, 2023

On review there is less room for improvement here than I had thought, since the graph is shallow, and most of the size is taken up by the immediate children of each subtable. The situation has been improved by #610, and I think that's as good as we will get.

@cmyr cmyr closed this as completed Sep 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant