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

Draft: Implement streaming version of BytecodePolynomials #451

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

jprider63
Copy link

@moodlezoup @sragss, I've started implementing a streaming version of BytecodePolynomials. I want to make sure we're on the right track before we start migrating the code to use this streaming behavior.

I created the MapState iterator since the stream mutates final_cts as it processes the trace. It seems like this should exist in the standard library, but I couldn't find anything that accomplishes this. One limitation of this is that final_cts can't be read until the stream is consumed. I'm not sure if this is feasible with how the code uses final_cts. If not, we may need to do an additional pass upfront that computes final_cts.

@moodlezoup
Copy link
Collaborator

I think this is on the right track. I believe it should be fine that the final state isn't materialized until the stream is consumed, and I imagine doing so is more efficient than an additional pass upfront. That said, if it ends up being simpler to do the generate final_cts upfront, I would do so for the initial version. Nice work!

@jprider63 jprider63 force-pushed the feature/streaming_bytecode branch from daca462 to 58992a5 Compare September 27, 2024 19:16
@jprider63 jprider63 force-pushed the feature/streaming_bytecode branch from c1554b2 to 534a79c Compare October 10, 2024 20:30
@jprider63 jprider63 force-pushed the feature/streaming_bytecode branch from f81a384 to a49f401 Compare October 17, 2024 19:45
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