Skip to content

Implement Typestate Deserializer#590

Open
krakow10 wants to merge 34 commits intorojo-rbx:masterfrom
krakow10:typestate-de
Open

Implement Typestate Deserializer#590
krakow10 wants to merge 34 commits intorojo-rbx:masterfrom
krakow10:typestate-de

Conversation

@krakow10
Copy link
Copy Markdown
Contributor

@krakow10 krakow10 commented Dec 17, 2025

Enforces an absolute chunk order. Only relevant state is included in each stage of the deserializer, so collections which are not yet needed are not yet created, and values which are no longer used are dropped.

Notes:

  • A new InnerError variant UnexpectedChunk is introduced.
  • I really like trait bounds
  • This is a fair bit of code just to enforce a chunk order

Performance

I saw the 1000 parts deserialize benchmark fluctuate wildly among my test systems (+50% throughput), but that may not be an indication of anything at all because no other benchmarks are affected.

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.

Enforce Chunk Order

1 participant