Soda Labs
Soda Labs Docs

Benchmarks

Measured performance of Bubble secure operations by opcode and bit size, compared against standard EVM execution on an AWS m5.large instance.

The table below displays performance metrics for various operations across different bit sizes, calculated using an AWS m5.large instance.

Here's what the columns represent:

  • Opcode name: This indicates the specific operation being measured, such as addition (ADD), multiplication (MUL), or bitwise operations like AND, OR, and XOR.
  • Bit size: This column specifies the width in bits of the operands being handled in the operation.
  • Running 1M circuits operations (milliseconds): This represents the time, in milliseconds, required to complete 1M secure operations using bubble garbled circuits.
  • Running 1M standard EVM operations (microseconds): This represents the time, in microseconds, to execute 1M operations using the standard EVM computation. Since EVM implementations consistently use 256-bit processing, the same time value is represented for all bit sizes.
Opcode nameBit sizeRunning 1M circuits operations (milliseconds)Running 1M standard EVM operations (microseconds)
ADD8253.91671.333333
ADD16567.11671.333333
ADD3210721671.333333
ADD642073.91671.333333
ADD1284309.31671.333333
ADD2568644.41671.333333
ADDWITHOVERFLOWBIT8275.1
ADDWITHOVERFLOWBIT16601
ADDWITHOVERFLOWBIT321102.1
ADDWITHOVERFLOWBIT642108.8
ADDWITHOVERFLOWBIT1284246.7
ADDWITHOVERFLOWBIT2568717.5
AND148.21419.285714
AND8180.41419.285714
AND16330.41419.285714
AND32621.21419.285714
AND641335.61419.285714
AND1282389.51419.285714
AND2564866.61419.285714
DIV82330.416729.33333
DIV168529.816729.33333
DIV3230617.616729.33333
DIV64119583.816729.33333
DIV128527244.416729.33333
DIV256211919016729.33333
EQ1402804.714286
EQ8231.62804.714286
EQ165152804.714286
EQ32972.72804.714286
EQ641843.12804.714286
EQ1283652.52804.714286
EQ2567487.32804.714286
GE8545.83100
GE1610513100
GE322020.13100
GE644032.63100
GE1288264.23100
GE25616543.63100
GT8724.23081
GT1614153081
GT322720.73081
GT645627.13081
GT12811078.13081
GT25622516.53081
LE8732.13099
LE161425.63099
LE322751.63099
LE645647.53099
LE12811211.63099
LE25622526.83099
LT8548.93190.5
LT161042.53190.5
LT322041.63190.5
LT644055.53190.5
LT1288264.33190.5
LT25616384.73190.5
MAX186.43741.333333
MAX8751.13741.333333
MAX161443.33741.333333
MAX322780.43741.333333
MAX645732.83741.333333
MAX12811435.13741.333333
MAX256229263741.333333
MIN182.14061.5
MIN8737.94061.5
MIN161438.44061.5
MIN322825.94061.5
MIN645716.34061.5
MIN12811432.64061.5
MIN25622835.54061.5
MUL81350.97486.833333
MUL165659.27486.833333
MUL3228455.37486.833333
MUL6495155.37486.833333
MUL128434665.27486.833333
MUL2561765153.67486.833333
MULFULLSIZE82718.4
MULFULLSIZE1612019.2
MULFULLSIZE3248161.9
MULFULLSIZE64207799.1
MULFULLSIZE128884389
MULFULLSIZE2563671646.6
MULWITHOVERFLOWBIT82886.7
MULWITHOVERFLOWBIT1612278.9
MULWITHOVERFLOWBIT3248421.8
MULWITHOVERFLOWBIT64209573.1
MULWITHOVERFLOWBIT128886143.5
MULWITHOVERFLOWBIT2563633495.2
MUX1561306
MUX8233.41306
MUX164481306
MUX32913.61306
MUX641704.91306
MUX1283415.31306
MUX2566881.21306
NE136.32710.142857
NE82332710.142857
NE165122710.142857
NE32956.52710.142857
NE641818.22710.142857
NE1283669.12710.142857
NE25674332710.142857
NOT136.2446
OFFBOARD1278400.635023
OFFBOARD8280640.835023
OFFBOARD16278539.135023
OFFBOARD32278507.135023
OFFBOARD64280620.335023
OFFBOARD128278364.335023
OFFBOARD256574910.435023
ONBOARD1281690.835023
ONBOARD8280591.535023
ONBOARD16280958.435023
ONBOARD32280668.935023
ONBOARD64280757.435023
ONBOARD128280918.335023
ONBOARD256576806.335023
OR160.81350.285714
OR8269.41350.285714
OR16562.31350.285714
OR32991.91350.285714
OR6418821350.285714
OR1283829.61350.285714
OR2567659.31350.285714
REM82340.517872.83333
REM168520.417872.83333
REM3231105.517872.83333
REM64122639.917872.83333
REM128528399.217872.83333
REM2562108571.517872.83333
SUB8558.41695.333333
SUB161074.51695.333333
SUB322045.51695.333333
SUB644225.71695.333333
SUB1288482.61695.333333
SUB25616852.81695.333333
SUBWITHOVERFLOWBIT8559.8
SUBWITHOVERFLOWBIT161092.3
SUBWITHOVERFLOWBIT322048.2
SUBWITHOVERFLOWBIT644219.9
SUBWITHOVERFLOWBIT1288392.4
SUBWITHOVERFLOWBIT25623483.5
TRANSFER81172.83927.166667
TRANSFER162318.73927.166667
TRANSFER3246703927.166667
TRANSFER649428.33927.166667
TRANSFER12818882.93927.166667
TRANSFER25638495.13927.166667
TRANSFERWITHALLOWANCE82465
TRANSFERWITHALLOWANCE165209.7
TRANSFERWITHALLOWANCE3210336.6
TRANSFERWITHALLOWANCE6420661.4
TRANSFERWITHALLOWANCE12841453.2
TRANSFERWITHALLOWANCE25683761.5
XOR139.31334.571429
XOR8781334.571429
XOR16122.71334.571429
XOR322161334.571429
XOR64451.41334.571429
XOR1288071334.571429
XOR2561586.51334.571429