Conversation
|
This stack of pull requests is managed by Graphite. Learn more about stacking. Join @fcarreiro and the rest of your teammates on |
d93ba8e to
1507b54
Compare
Benchmark resultsMetrics with a significant change:
Detailed resultsAll benchmarks are run on txs on the This benchmark source data is available in JSON format on S3 here. Values are compared against data from master at commit L2 block published to L1Each column represents the number of txs on an L2 block published to L1.
L2 chain processingEach column represents the number of blocks on the L2 chain where each block has 16 txs.
Circuits statsStats on running time and I/O sizes collected for every circuit run across all benchmarks.
Tree insertion statsThe duration to insert a fixed batch of leaves into each tree type.
MiscellaneousTransaction sizes based on how many contract classes are registered in the tx.
Transaction processing duration by data writes.
|

WARNING: PR waiting for resolution of blowup. See below.
@sirasistant analyzed and filed noir-lang/noir#4535
This PR updates the oracle
storageRead/Writeinterface to take and return just 1 value, instead of an array of values. However, the functionstorage_write<N>actually used in Noir still takes/returns an array, and does a loop calling the oracle.storageWritewas returning a value which was not used. This is due to an ACVM limitation, see below.The reason for the change is, quoting Sean: "that it's easier for the AVM to prove single-access to memory". IIUC, we want the traces to contain single access, and our AVM opcodes handle that.
This change is NOT trivial, since it implied changing the ACVM and oracle interface. In particular
voidoracles are possible.NOTE FOR THE REVIEWER: Sean gave an informal approval on the AVM side, please review everything else. If you are not familiar with the code please let me know of a possible reviewer.
This causes a blowup in instructions for storage access (even to a single field).
Before
After (name changed)
SSA optimization before: file.
SSA optimization after: file.