Skip to content
This repository was archived by the owner on Mar 14, 2025. It is now read-only.

Conversation

@mratsim
Copy link
Contributor

@mratsim mratsim commented Nov 8, 2024

This adds an instruction count cycle to SP1 to ease comparison between Valida ISA and RISC-V ISA.

This is interesting due to the following

zkVMs ISA Proof System
Jolt RISC-V Spartan (sumcheck, multilinear)
SP1 RISC-V Plonky3 (FRI, univariate)
Valida Valida ISA (RISC-like) Plonky3 (FRI, univariate)

Video

keccak-ISA-efficiency-bench.mp4

Instructions count:

Valida (native): 15289
SP1 (native): 16800 keccak, 24100 total
SP1 (precompile): 706 keccak, 7916 total

What can we conclude from this?

In general we cannot compare 2 zkvms on raw instruction count and infer efficiency, this can be seen with SP1 keccak precompile with 3x less instructions yet slower proof generation for a single keccak than native execution.

However, for RISC-like instructions (so no complex super instructions like Keccak), and on the same proof system (Plonky3), less instructions usually mean less work for the prover.

@mratsim mratsim changed the title ISA bench ISA efficiency comparison Nov 8, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants