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

Dissenting opinion on RISC Zero's batch-transfer benchmark result #10

@weikengchen

Description

@weikengchen

I feel that in the benchmark code, RISC Zero is doing more work than other implementations.

Cairo 1 only returns one "ret" at the end of 5000 transfers.
https://github.com/Pi-Squared-Network/proof-checker-public/blob/master/cairo/tests/direct-implementation/cairo1/batch_transfer.cairo#L22

Same for zkLLVM:
https://github.com/Pi-Squared-Network/proof-checker-public/blob/master/zkllvm/tests/direct-implementation/batch_transfer/batch_transfer_test.cpp#L23

RISC Zero, however, needs to return "ret" for each one of the 5000 transfers.
https://github.com/Pi-Squared-Network/proof-checker-public/blob/master/risc0/tests/direct-implementation/guest/src/transfer5000.rs#L26

Since committing 5000 numbers as "ret" in this way would lead to the majority of cost for RISC Zero, I feel that RISC Zero has a disadvantage here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions