Skip to content

Test Worst Compute

Documentation for tests/benchmark/test_worst_compute.py@e9958ed2.

Generate fixtures for these test cases for Osaka with:

fill -v tests/benchmark/test_worst_compute.py -m benchmark

Tests that benchmark EVMs in worst-case compute scenarios.

Test Functions Overview

Name Type Cases (Osaka) Description
test_worst_zero_param benchmark_test 0 Test running a block with as many zero-parameter opcodes as possible.
test_worst_calldatasize benchmark_test 0 Test running a block with as many CALLDATASIZE as possible.
test_worst_callvalue benchmark_test 0 Test running a block with as many CALLVALUE opcodes as possible.
test_worst_returndatasize_nonzero benchmark_test 0 Test running a block which execute as many RETURNDATASIZE opcodes which
test_worst_returndatasize_zero benchmark_test 0 Test running a block with as many RETURNDATASIZE opcodes as possible with
test_worst_msize benchmark_test 0 Test running a block with as many MSIZE opcodes as possible.
test_worst_keccak benchmark_test 0 Test running a block with as many KECCAK256 permutations as possible.
test_worst_precompile_only_data_input benchmark_test 0 Test running a block with as many precompile calls which have a single
test_worst_modexp benchmark_test 0 Test running a block with as many calls to the MODEXP (5) precompile as
test_worst_precompile_fixed_cost benchmark_test 0 Test running a block filled with a precompile with fixed cost.
test_worst_jumps benchmark_test 0 Test running a JUMP-intensive contract.
test_worst_jumpi_fallthrough benchmark_test 0 Test running a JUMPI-intensive contract with fallthrough.
test_worst_jumpis benchmark_test 0 Test running a JUMPI-intensive contract.
test_worst_jumpdests benchmark_test 0 Test running a JUMPDEST-intensive contract.
test_worst_binop_simple benchmark_test 0 Test running a block with as many binary instructions (takes two args,
test_worst_unop benchmark_test 0 Test running a block with as many unary instructions (takes one arg,
test_worst_tload benchmark_test 0 Test running a block with as many TLOAD calls as possible.
test_worst_tstore benchmark_test 0 Test running a block with as many TSTORE calls as possible.
test_worst_shifts benchmark_test 0 Test running a block with as many shift instructions with non-trivial
test_worst_blobhash benchmark_test 0 Test running a block with as many BLOBHASH instructions as possible.
test_worst_mod benchmark_test 0 Test running a block with as many MOD instructions with arguments of the
test_worst_memory_access benchmark_test 0 Test running a block with as many memory access instructions as
test_worst_modarith benchmark_test 0 Test running a block with as many "op" instructions with arguments of the
test_empty_block benchmark_test 0 Test running an empty block as a baseline for fixed proving costs.
test_amortized_bn128_pairings benchmark_test 0 Test running a block with as many BN128 pairings as possible.
test_worst_calldataload benchmark_test 0 Test running a block with as many CALLDATALOAD as possible.
test_worst_swap benchmark_test 0 Test running a block with as many SWAP as possible.
test_worst_dup benchmark_test 0 Test running a block with as many DUP as possible.
test_worst_push benchmark_test 0 Test running a block with as many PUSH as possible.
test_worst_return_revert benchmark_test 0 Test running a block with as many RETURN or REVERT as possible.
test_worst_clz_same_input benchmark_test 0 Test running a block with as many CLZ with same input as possible.
test_worst_clz_diff_input benchmark_test 0 Test running a block with as many CLZ with different input as