Operation bottlenecks
Each row is one compute operation's worst-case throughput on the
300M-gas benchmark fixtures: the 1st percentile of test_mgas_s per
fixture (the slow tail), the slowest fixture per client, then the slowest client.
ethrex is shown per-client below but excluded from that worst-case minimum
(as on the Repricing side). The
assumed throughput ceiling defaults to
100 Mgas/s — the rate a plain ETH
transfer sustains, which the chain can't exceed — but you can move the anchor below. An
operation below the anchor is a bottleneck: it already runs slower than a
transfer at that rate, so it cannot be repriced cheaper and is excluded from the
Repricing view.
Mgas/s
| Opcode | Category | Worst Mgas/s | besu | erigon | ethrex | geth | nethermind | reth |
|---|---|---|---|---|---|---|---|---|
ADD |
Arithmetic | 420.1 | 420.1 | 1724.4 | 3728.0 | 892.2 | 1780.8 | 4617.4 |
ADDMOD |
Arithmetic | 450.0 | 450.0 | 695.2 | 779.9 | 635.5 | 839.2 | 1111.7 |
DIV |
Arithmetic | 364.1 | 364.1 | 595.8 | 675.4 | 564.3 | 569.4 | 842.2 |
EXP |
Arithmetic | 853.9 | 853.9 | 3180.8 | 1269.4 | 2480.6 | 1913.4 | 3228.8 |
MOD |
Arithmetic | 325.8 | 325.8 | 587.8 | 576.1 | 521.8 | 547.6 | 611.8 |
MUL |
Arithmetic | 459.0 | 459.0 | 1857.6 | 3491.5 | 1135.2 | 1061.3 | 4898.3 |
MULMOD |
Arithmetic | 296.2 | 296.2 | 481.1 | 512.0 | 448.6 | 332.4 | 645.1 |
SDIV |
Arithmetic | 354.6 | 354.6 | 639.1 | 664.2 | 592.2 | 436.6 | 658.0 |
SIGNEXTEND |
Arithmetic | 211.0 | 211.0 | 2115.4 | 1916.5 | 1143.2 | 2493.3 | 1719.6 |
SMOD |
Arithmetic | 308.8 | 308.8 | 455.0 | 603.0 | 478.0 | 499.6 | 629.5 |
SUB |
Arithmetic | 403.5 | 403.5 | 1705.8 | 3440.3 | 945.5 | 1706.3 | 4649.4 |
BLS12_G1ADD |
BLS12-381 | 204.8 | 204.8 | 304.1 | 78.9 | 412.1 | 403.6 | 528.9 |
BLS12_G1MSM |
BLS12-381 | 250.9 | 386.5 | 279.5 | 292.4 | 260.3 | 278.1 | 250.9 |
BLS12_G2ADD |
BLS12-381 | 248.0 | 248.0 | 404.4 | 104.6 | 460.8 | 383.2 | 567.1 |
BLS12_G2MSM |
BLS12-381 | 267.1 | 611.4 | 300.8 | 283.6 | 267.1 | 272.1 | 268.5 |
BLS12_MAP_FP_TO_G1 |
BLS12-381 | 377.7 | 377.7 | 422.1 | 289.2 | 408.7 | 453.5 | 587.2 |
AND |
Bitwise | 484.7 | 484.7 | 1697.8 | 2324.1 | 930.4 | 3303.3 | 4896.6 |
BYTE |
Bitwise | 444.3 | 444.3 | 1650.7 | 2485.3 | 982.3 | 2267.4 | 4662.4 |
CLZ |
Bitwise | 842.9 | 842.9 | 3443.2 | 5287.6 | 2070.4 | 1123.5 | 6788.6 |
NOT |
Bitwise | 495.5 | 495.5 | 2285.3 | 3556.1 | 1416.1 | 3199.2 | 4312.1 |
OR |
Bitwise | 485.4 | 485.4 | 1731.2 | 2600.4 | 887.0 | 3257.3 | 4975.0 |
SAR |
Bitwise | 148.9 | 148.9 | 1356.9 | 1697.8 | 936.9 | 1015.6 | 1605.0 |
SHL |
Bitwise | 615.6 | 615.6 | 1501.3 | 1960.3 | 939.1 | 1077.6 | 2729.0 |
SHR |
Bitwise | 647.0 | 647.0 | 1513.2 | 2424.3 | 822.9 | 1123.1 | 2516.6 |
XOR |
Bitwise | 538.0 | 538.0 | 1777.7 | 2047.6 | 923.6 | 3338.0 | 5006.0 |
BASEFEE |
Block/tx | 408.1 | 408.1 | 1075.3 | 2397.4 | 822.4 | 1749.0 | 3198.3 |
BLOBBASEFEE |
Block/tx | 410.3 | 410.3 | 1019.4 | 2641.8 | 838.6 | 1735.5 | 3108.4 |
CHAINID |
Block/tx | 415.3 | 415.3 | 1144.8 | 2685.9 | 787.2 | 1792.0 | 2614.6 |
COINBASE |
Block/tx | 349.8 | 407.5 | 349.8 | 2405.0 | 816.8 | 1626.6 | 3169.5 |
GASLIMIT |
Block/tx | 388.1 | 388.1 | 1014.4 | 2334.1 | 993.6 | 1790.3 | 3036.0 |
GASPRICE |
Block/tx | 417.2 | 417.2 | 1013.5 | 2425.0 | 880.2 | 1969.9 | 3277.5 |
NUMBER |
Block/tx | 399.1 | 399.1 | 1223.0 | 2461.6 | 851.5 | 1722.0 | 3675.1 |
ORIGIN |
Block/tx | 249.3 | 418.2 | 249.3 | 2310.8 | 684.3 | 2030.0 | 3407.2 |
PREVRANDAO |
Block/tx | 404.5 | 404.5 | 615.0 | 2156.6 | 833.1 | 1818.1 | 3201.8 |
TIMESTAMP |
Block/tx | 395.7 | 395.7 | 1145.7 | 2545.4 | 936.1 | 1749.7 | 3393.3 |
ADDRESS |
Call context | 349.5 | 408.8 | 349.5 | 2269.8 | 685.2 | 1959.1 | 3182.4 |
CALLDATACOPY |
Call context | 401.3 | 401.3 | 1203.5 | 2804.8 | 672.4 | 1802.0 | 3118.0 |
CALLDATALOAD |
Call context | 23819.4 | 67615.9 | 23819.4 | 89515.1 | 26868.0 | 90383.3 | 130756.6 |
CALLDATASIZE |
Call context | 360.6 | 360.6 | 1105.7 | 2468.3 | 887.2 | 1955.0 | 2999.7 |
CALLER |
Call context | 349.0 | 410.4 | 349.0 | 2388.3 | 663.9 | 2065.2 | 3218.6 |
CALLVALUE |
Call context | 504.7 | 504.7 | 1472.2 | 2749.3 | 799.1 | 3814.1 | 3385.1 |
RETURNDATACOPY |
Call context | 386.0 | 386.0 | 762.4 | 2727.7 | 534.0 | 1452.7 | 3116.3 |
RETURNDATASIZE |
Call context | 451.1 | 451.1 | 1544.7 | 2757.7 | 707.6 | 3394.9 | 3200.0 |
EQ |
Comparison | 329.6 | 329.6 | 1685.8 | 2713.2 | 982.8 | 3008.4 | 2862.5 |
GT |
Comparison | 152.2 | 152.2 | 1632.9 | 3799.5 | 981.2 | 2968.8 | 4508.6 |
ISZERO |
Comparison | 521.1 | 521.1 | 1947.4 | 1524.0 | 1283.0 | 2373.0 | 4886.8 |
LT |
Comparison | 147.1 | 147.1 | 1687.0 | 3822.1 | 832.7 | 2944.5 | 4760.8 |
SGT |
Comparison | 444.2 | 444.2 | 1651.1 | 3497.2 | 904.4 | 2901.4 | 4446.4 |
SLT |
Comparison | 430.6 | 430.6 | 1692.1 | 3390.5 | 960.1 | 2806.1 | 4430.6 |
GAS |
Control flow | 394.0 | 394.0 | 672.9 | 2439.6 | 901.8 | 2025.8 | 3033.6 |
JUMP |
Control flow | 334.9 | 334.9 | 1839.7 | 2650.0 | 1210.0 | 2429.6 | 5428.9 |
JUMPDEST |
Control flow | 300.6 | 300.6 | 553.9 | 1612.2 | 545.7 | 1494.9 | 2562.8 |
JUMPI |
Control flow | 1235.4 | 1235.4 | 2565.0 | 5822.5 | 1480.9 | 5513.8 | 4904.3 |
PC |
Control flow | 393.4 | 393.4 | 1187.9 | 2452.5 | 901.0 | 1927.8 | 2774.4 |
KECCAK256 |
Hashing | 266.4 | 266.4 | 303.4 | 538.9 | 356.6 | 269.1 | 493.4 |
MCOPY |
Memory | 469.0 | 469.0 | 603.3 | 2494.1 | 693.8 | 711.4 | 3885.9 |
MLOAD |
Memory | 440.8 | 440.8 | 930.3 | 2879.0 | 788.5 | 1958.8 | 2331.2 |
MSIZE |
Memory | 380.2 | 380.2 | 938.4 | 2573.4 | 871.6 | 1910.7 | 3070.9 |
MSTORE |
Memory | 380.9 | 380.9 | 1295.9 | 3153.1 | 704.0 | 2441.7 | 1834.1 |
MSTORE8 |
Memory | 507.1 | 507.1 | 1209.3 | 3344.2 | 748.0 | 2464.6 | 4066.5 |
BLAKE2F |
Precompile | 142.3 | 276.8 | 142.3 | 1188.5 | 729.2 | 618.1 | 301.7 |
ECADD |
Precompile | 248.5 | 262.2 | 248.5 | 280.1 | 401.9 | 313.1 | 260.7 |
ECMUL |
Precompile | 322.4 | 509.1 | 517.0 | 332.2 | 483.6 | 483.4 | 322.4 |
ECPAIRING |
Precompile | 262.6 | 728.0 | 633.8 | 449.4 | 658.1 | 262.6 | 464.3 |
ECRECOVER |
Precompile | 314.6 | 356.7 | 324.1 | 417.5 | 314.6 | 362.8 | 398.0 |
IDENTITY |
Precompile | 164.8 | 377.9 | 164.8 | 2003.9 | 503.8 | 808.9 | 334.9 |
P256VERIFY |
Precompile | 441.9 | 537.0 | 446.2 | 160.6 | 441.9 | 628.2 | 656.5 |
POINT_EVALUATION |
Precompile | 188.6 | 190.9 | 251.3 | 183.9 | 196.7 | 188.6 | 201.7 |
RIPEMD-160 |
Precompile | 553.9 | 1304.3 | 553.9 | 3658.6 | 2600.8 | 2775.0 | 1871.1 |
SHA2-256 |
Precompile | 203.8 | 494.5 | 203.8 | 2263.8 | 1238.8 | 655.7 | 447.9 |
DUP |
Stack | 569.1 | 569.1 | 1225.3 | 3235.8 | 1103.6 | 2663.6 | 3770.9 |
PUSH |
Stack | 424.8 | 518.0 | 424.8 | 2508.8 | 767.7 | 2375.2 | 3206.5 |
PUSH0 |
Stack | 519.3 | 519.3 | 1132.4 | 2632.7 | 937.1 | 2070.3 | 3898.7 |
SWAP |
Stack | 544.6 | 575.4 | 544.6 | 2494.2 | 988.0 | 2578.8 | 3758.6 |