Skip to content

Conversation

@robertbastian
Copy link
Contributor

@robertbastian robertbastian commented Dec 3, 2025

There is no need for ICU4X's data provider infrastructure, we can directly bake the CodePointTrie<u32> and access that. This gets around the limitation of not being able to bake custom data markers, and removes the serde serialization.

#452

Copy link
Contributor

@taj-p taj-p left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

THANK YOU! TIL. This is much better. Appreciate it 🙏

You might be interested in this conversation (taj-p#4 (comment)) we had with Behdad about using PackTab (what HarfBuzz/HarfRust use to pack unicode data) as a future replacement of CodePointTrie.

@taj-p taj-p added this pull request to the merge queue Dec 4, 2025
Merged via the queue into linebender:main with commit 7c57728 Dec 4, 2025
24 checks passed
@robertbastian robertbastian deleted the bake-composite branch December 4, 2025 09:16
@robertbastian
Copy link
Contributor Author

Yes you should use PackTab if you can get better performance out of that. For ICU4X in general that's more complicated, because all PackTab results would need to be the same Rust type (which is not a requirement for your singleton). We could experiment with baking function pointers as part of the data, which might optimize as well.

conor-93 added a commit to conor-93/parley that referenced this pull request Dec 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants