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

make all ops but keccak and things that use Wrapping const fns 💥 #184

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

sam0x17
Copy link
Contributor

@sam0x17 sam0x17 commented Dec 2, 2024

With the new rust 1.83 changes, we are able to make most zisk ops const fns. The only remaining blockers are on keccak and any ops that make use of Wrapping. The keccak limitation stems from a key limitation right now which is that Vec::as_slice() as a const fn has not been stabilized yet. Once this is stabilized, we can upgrade Mem such that read is a const fn, and then we will be able to make the keccak op itself a const fn.

The Wrapping stuff might be up-gradable now, but we would have to do away with using Wrapping, and I don't know much about this one.

If all of these blockers are removed, the execute / call / etc methods on ZiskOp can all become const fns, which would be a HUGE boon for performance in situations where operands are known at compile-time.

@cla-bot cla-bot bot added the cla-signed label Dec 2, 2024
@sam0x17 sam0x17 changed the title make all ops but keccak and things that use Wording const fns 💥 make all ops but keccak and things that use Wrapping const fns 💥 Dec 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant