Skip to content

Upgrade to uniffi 0.32.0, support zero copy bytes - #64

Open
skeet70 wants to merge 7 commits into
mainfrom
0.32.0-upgrade
Open

Upgrade to uniffi 0.32.0, support zero copy bytes#64
skeet70 wants to merge 7 commits into
mainfrom
0.32.0-upgrade

Conversation

@skeet70

@skeet70 skeet70 commented Aug 11, 2026

Copy link
Copy Markdown
Member

This is a breaking change for by ref bytes from byte[] to ByteBuffer, and to the config setup. See the CHANGELOG for more info.

A lot of the churn in this PR is due to upgrading Askama to 0.16.0 to match upstream.

Benches showed the zero-copy byte path is 3 to 20x faster than what we had before, so we'll likely make a breaking ironcore-alloy release to switch the API over to them (in addition to the benefit that provides direct Rust callers).

@skeet70
skeet70 requested a review from a team as a code owner August 11, 2026 19:11
@skeet70
skeet70 requested review from coltfred and giarc3 and removed request for a team and giarc3 August 11, 2026 19:11

@coltfred coltfred left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

fully_qualified_type_label needs a Type::Set arm so that the set type is fully qualified.

I added a test that fails currently. If you'd like to test it some other way, I'm good with that. Just wanted to show it broke

@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown

File Coverage Lines
All files 91% 91%
src/lib.rs 58% 58%
src/gen_java/mod.rs 93% 93%

Minimum allowed coverage is 0%

Generated by 🐒 cobertura-action against 991a66f

@skeet70
skeet70 requested a review from coltfred August 12, 2026 02:31
@skeet70

skeet70 commented Aug 12, 2026

Copy link
Copy Markdown
Member Author

@coltfred fixed and also split Types up and had rust dispatch the template generation for each of them. Build went from 10 GB memory and 112 s incremental compile with 960 s for the integration tests to 401 MB, 3 s, 71s on my machine. From the checks that just ran here it looks like it way sped up cold CI builds too.

Checked the output before and after for test files and its the same both ways. Should be all good now.

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.

3 participants