Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Recompute gas costs considering precompilation #4455

Closed
wants to merge 20 commits into from

Conversation

Longarithm
Copy link
Member

Plan

Run runtime-param-estimator and update RuntimeConfig fees.

@Longarithm Longarithm self-assigned this Jul 2, 2021
@Longarithm
Copy link
Member Author

Longarithm commented Jul 2, 2021

Compile costs for worst runs:

GCP (4 CPU, 16 GB RAM)

Wasmer0 using ICount: in a + b * x: a = 10079475916346058425/516951673516 (19497907.508048896) b = 929813571552275/258475836758(3597.2939800280833) 
base = 2437238438506 per_byte = 449661747
Wasmer1 using ICount: in a + b * x: a = 10618830958142857745/516951673516 (20541244.95993956) b = 1944159799070515/516951673516(3760.815369544097) 
base = 2567655619992 per_byte = 470101921

Local (6 CPU, 4 GB RAM)

Wasmer0 using ICount: in a + b * x: a = 2495158512313840935/129237918379 (19306706.140194856) b = 465022504312155/129237918379(3598.1893715468336) 
base = 2413338267524 per_byte = 449773671
Wasmer1 using ICount: in a + b * x: a = 5303260627285525255/258475836758 (20517432.862595756) b = 972157708087245/258475836758(3761.1163978837803) 
base = 2564679107824 per_byte = 470139549

It may worth attention that on local machine I often got a deviation in Wasmer0.base, for example, 2112056607563 which is a 15% change.

@Longarithm
Copy link
Member Author

Longarithm commented Jul 2, 2021

RuntimeConfig generated by runtime-params-estimator on GCP (4 CPU, 16 GB RAM)

RuntimeConfig {
    storage_amount_per_byte: 90900000000000000000,
    transaction_costs: RuntimeFeesConfig {
        action_receipt_creation_config: Fee {
            send_sir: 204866500000,
            send_not_sir: 204866500000,
            execution: 204866500000,
        },
        data_receipt_creation_config: DataReceiptCreationConfig {
            base_cost: Fee {
                send_sir: 2446075705000,
                send_not_sir: 2446075705000,
                execution: 2446075705000,
            },
            cost_per_byte: Fee {
                send_sir: 13158090,
                send_not_sir: 13158090,
                execution: 13158090,
            },
        },
        action_creation_config: ActionCreationConfig {
            create_account_cost: Fee {
                send_sir: 19193500000,
                send_not_sir: 19193500000,
                execution: 19193500000,
            },
            deploy_contract_cost: Fee {
                send_sir: 58911000000,
                send_not_sir: 58911000000,
                execution: 59598599920,
            },
            deploy_contract_cost_per_byte: Fee {
                send_sir: 7636803,
                send_not_sir: 7636803,
                execution: 7636803,
            },
            function_call_cost: Fee {
                send_sir: 521451000000,
                send_not_sir: 521451000000,
                execution: 521451000000,
            },
            function_call_cost_per_byte: Fee {
                send_sir: 230369,
                send_not_sir: 230369,
                execution: 230369,
            },
            transfer_cost: Fee {
                send_sir: 21898500000,
                send_not_sir: 21898500000,
                execution: 21898500000,
            },
            stake_cost: Fee {
                send_sir: 54600500000,
                send_not_sir: 54600500000,
                execution: 54600500000,
            },
            add_key_cost: AccessKeyCreationConfig {
                full_access_cost: Fee {
                    send_sir: 36423500000,
                    send_not_sir: 36423500000,
                    execution: 36423500000,
                },
                function_call_cost: Fee {
                    send_sir: 25135500000,
                    send_not_sir: 25135500000,
                    execution: 25135500000,
                },
                function_call_cost_per_byte: Fee {
                    send_sir: 13733900,
                    send_not_sir: 13733900,
                    execution: 13733900,
                },
            },
            delete_key_cost: Fee {
                send_sir: 18051000000,
                send_not_sir: 18051000000,
                execution: 18051000000,
            },
            delete_account_cost: Fee {
                send_sir: 165014000000,
                send_not_sir: 165014000000,
                execution: 165014000000,
            },
        },
        storage_usage_config: StorageUsageConfig {
            num_bytes_account: 100,
            num_extra_bytes_record: 40,
        },
        burnt_gas_reward: Ratio {
            numer: 3,
            denom: 10,
        },
        pessimistic_gas_price_inflation_ratio: Ratio {
            numer: 103,
            denom: 100,
        },
    },
    wasm_config: VMConfig {
        ext_costs: ExtCostsConfig {
            base: 73072078,
            contract_compile_base: 0,
            contract_compile_bytes: 0,
            read_memory_base: 242789000,
            read_memory_byte: 739476,
            write_memory_base: 281677700,
            write_memory_byte: 143685,
            read_register_base: 188238100,
            read_register_byte: 62270,
            write_register_base: 326903700,
            write_register_byte: 740362,
            utf8_decoding_base: 409952500,
            utf8_decoding_byte: 100287754,
            utf16_decoding_base: 580630800,
            utf16_decoding_byte: 57256855,
            sha256_base: 960912100,
            sha256_byte: 7078684,
            keccak256_base: 1256655600,
            keccak256_byte: 5136450,
            keccak512_base: 1237389100,
            keccak512_byte: 8918315,
            log_base: 580630800,
            log_byte: 4828744,
            storage_write_base: 17246464000,
            storage_write_key_byte: 20740768,
            storage_write_value_byte: 103216767,
            storage_write_evicted_byte: 147517735,
            storage_read_base: 32643019000,
            storage_read_key_byte: 263339489,
            storage_read_value_byte: 237879296,
            storage_remove_base: 45080326000,
            storage_remove_key_byte: 317588603,
            storage_remove_ret_value_byte: 269456049,
            storage_has_key_base: 28782033000,
            storage_has_key_byte: 241711182,
            storage_iter_create_prefix_base: 0,
            storage_iter_create_prefix_byte: 0,
            storage_iter_create_range_base: 0,
            storage_iter_create_from_byte: 0,
            storage_iter_create_to_byte: 0,
            storage_iter_next_base: 0,
            storage_iter_next_key_byte: 0,
            storage_iter_next_value_byte: 0,
            touching_trie_node: 9326576857,
            promise_and_base: 684012050,
            promise_and_per_promise: 4008619,
            promise_return: 312435840,
            validator_stake_base: 303944908800,
            validator_total_stake_base: 303944908800,
        },
        grow_mem_cost: 1,
        regular_op_cost: 1058649,
        limit_config: VMLimitConfig {
            max_gas_burnt: 200000000000000,
            max_gas_burnt_view: 200000000000000,
            max_stack_height: 16384,
            initial_memory_pages: 1024,
            max_memory_pages: 2048,
            registers_memory_limit: 1073741824,
            max_register_size: 104857600,
            max_number_registers: 100,
            max_number_logs: 100,
            max_total_log_length: 16384,
            max_total_prepaid_gas: 300000000000000,
            max_actions_per_receipt: 100,
            max_number_bytes_method_names: 2000,
            max_length_method_name: 256,
            max_arguments_length: 4194304,
            max_length_returned_data: 4194304,
            max_contract_size: 4194304,
            max_length_storage_key: 4194304,
            max_length_storage_value: 4194304,
            max_promises_per_function_call_action: 1024,
            max_number_input_data_dependencies: 128,
        },
    },
    account_creation_config: AccountCreationConfig {
        min_allowed_top_level_account_length: 0,
        registrar_account_id: "registrar",
    },
}

@Longarithm Longarithm linked an issue Jul 2, 2021 that may be closed by this pull request
@Longarithm Longarithm added the A-transaction-runtime Area: transaction runtime (transaction and receipts processing, state transition, etc) label Jul 2, 2021
@bowenwang1996
Copy link
Collaborator

bowenwang1996 commented Jul 2, 2021

@Longarithm please provide a comparison between the new one and the current one. Similar to what @olonho did in #4231

@Longarithm
Copy link
Member Author

Previous config was not valid, because I generated it using Time, not ICount metric.
Valid one:

RuntimeConfig {
    storage_amount_per_byte: 90900000000000000000,
    transaction_costs: RuntimeFeesConfig {
        action_receipt_creation_config: Fee {
            send_sir: 164973625000,
            send_not_sir: 164973625000,
            execution: 164973625000,
        },
        data_receipt_creation_config: DataReceiptCreationConfig {
            base_cost: Fee {
                send_sir: 50745691155500,
                send_not_sir: 50745691155500,
                execution: 50745691155500,
            },
            cost_per_byte: Fee {
                send_sir: 13895993,
                send_not_sir: 13895993,
                execution: 13895993,
            },
        },
        action_creation_config: ActionCreationConfig {
            create_account_cost: Fee {
                send_sir: 30911812500,
                send_not_sir: 30911812500,
                execution: 30911812500,
            },
            deploy_contract_cost: Fee {
                send_sir: 52376500000,
                send_not_sir: 52376500000,
                execution: 52826825505,
            },
            deploy_contract_cost_per_byte: Fee {
                send_sir: 8298561,
                send_not_sir: 8298561,
                execution: 2333358119803,
            },
            function_call_cost: Fee {
                send_sir: 257123312500,
                send_not_sir: 257123312500,
                execution: 257123312500,
            },
            function_call_cost_per_byte: Fee {
                send_sir: 31498,
                send_not_sir: 31498,
                execution: 31498,
            },
            transfer_cost: Fee {
                send_sir: 32271375000,
                send_not_sir: 32271375000,
                execution: 32271375000,
            },
            stake_cost: Fee {
                send_sir: 63955375000,
                send_not_sir: 63955375000,
                execution: 63955375000,
            },
            add_key_cost: AccessKeyCreationConfig {
                full_access_cost: Fee {
                    send_sir: 32792187500,
                    send_not_sir: 32792187500,
                    execution: 32792187500,
                },
                function_call_cost: Fee {
                    send_sir: 32156250000,
                    send_not_sir: 32156250000,
                    execution: 32156250000,
                },
                function_call_cost_per_byte: Fee {
                    send_sir: 12654743,
                    send_not_sir: 12654743,
                    execution: 12654743,
                },
            },
            delete_key_cost: Fee {
                send_sir: 16654750000,
                send_not_sir: 16654750000,
                execution: 16654750000,
            },
            delete_account_cost: Fee {
                send_sir: 135365687500,
                send_not_sir: 135365687500,
                execution: 135365687500,
            },
        },
        storage_usage_config: StorageUsageConfig {
            num_bytes_account: 100,
            num_extra_bytes_record: 40,
        },
        burnt_gas_reward: Ratio {
            numer: 3,
            denom: 10,
        },
        pessimistic_gas_price_inflation_ratio: Ratio {
            numer: 103,
            denom: 100,
        },
    },
    wasm_config: VMConfig {
        ext_costs: ExtCostsConfig {
            base: 86192651,
            contract_compile_base: 0,
            contract_compile_bytes: 0,
            read_memory_base: 240583625,
            read_memory_byte: 1266996,
            write_memory_base: 299679375,
            write_memory_byte: 61639,
            read_register_base: 208015000,
            read_register_byte: 32267,
            write_register_base: 331427625,
            write_register_byte: 1267082,
            utf8_decoding_base: 415690312,
            utf8_decoding_byte: 98402985,
            utf16_decoding_base: 562920137,
            utf16_decoding_byte: 54853932,
            sha256_base: 985787500,
            sha256_byte: 9533871,
            keccak256_base: 1312011187,
            keccak256_byte: 7064781,
            keccak512_base: 1305269762,
            keccak512_byte: 12106739,
            log_base: 562920137,
            log_byte: 4108400,
            storage_write_base: 17176720250,
            storage_write_key_byte: 26416770,
            storage_write_value_byte: 2044093784,
            storage_write_evicted_byte: 3118598072,
            storage_read_base: 26620283375,
            storage_read_key_byte: 5451228865,
            storage_read_value_byte: 5217699173,
            storage_remove_base: 31537079375,
            storage_remove_key_byte: 5895304107,
            storage_remove_ret_value_byte: 5429953409,
            storage_has_key_base: 24861784375,
            storage_has_key_byte: 5048138526,
            storage_iter_create_prefix_base: 0,
            storage_iter_create_prefix_byte: 0,
            storage_iter_create_range_base: 0,
            storage_iter_create_from_byte: 0,
            storage_iter_create_to_byte: 0,
            storage_iter_next_base: 0,
            storage_iter_next_key_byte: 0,
            storage_iter_next_value_byte: 0,
            touching_trie_node: 7605795250,
            promise_and_base: 5259182120,
            promise_and_per_promise: 43190415,
            promise_return: 4631026297,
            validator_stake_base: 303944908800,
            validator_total_stake_base: 303944908800,
        },
        grow_mem_cost: 1,
        regular_op_cost: 1310769,
        limit_config: VMLimitConfig {
            max_gas_burnt: 200000000000000,
            max_gas_burnt_view: 200000000000000,
            max_stack_height: 16384,
            initial_memory_pages: 1024,
            max_memory_pages: 2048,
            registers_memory_limit: 1073741824,
            max_register_size: 104857600,
            max_number_registers: 100,
            max_number_logs: 100,
            max_total_log_length: 16384,
            max_total_prepaid_gas: 300000000000000,
            max_actions_per_receipt: 100,
            max_number_bytes_method_names: 2000,
            max_length_method_name: 256,
            max_arguments_length: 4194304,
            max_length_returned_data: 4194304,
            max_contract_size: 4194304,
            max_length_storage_key: 4194304,
            max_length_storage_value: 4194304,
            max_promises_per_function_call_action: 1024,
            max_number_input_data_dependencies: 128,
        },
    },
    account_creation_config: AccountCreationConfig {
        min_allowed_top_level_account_length: 0,
        registrar_account_id: "registrar",
    },
}

@Longarithm
Copy link
Member Author

Longarithm commented Jul 6, 2021

Diff

Generation:

python3 ./runtime/runtime-params-estimator/emu-cost/safety_mutiplier.py
python3 ./runtime/runtime-params-estimator/emu-cost/compare_costs.py /tmp/data/runtime_config_old.json /tmp/data/runtime_config_safety_mutiplied.json
transaction_costs.action_receipt_creation_config.send_sir: first=108059500000 second=164973625000 second/first=1.53
transaction_costs.action_receipt_creation_config.send_not_sir: first=108059500000 second=164973625000 second/first=1.53
transaction_costs.action_receipt_creation_config.execution: first=108059500000 second=164973625000 second/first=1.53
transaction_costs.data_receipt_creation_config.base_cost.send_sir: first=4697339419375 second=50745691155500 second/first=10.80
transaction_costs.data_receipt_creation_config.base_cost.send_not_sir: first=4697339419375 second=50745691155500 second/first=10.80
transaction_costs.data_receipt_creation_config.base_cost.execution: first=4697339419375 second=50745691155500 second/first=10.80
transaction_costs.data_receipt_creation_config.cost_per_byte.send_sir: first=59357464 second=13895993 second/first=0.23
transaction_costs.data_receipt_creation_config.cost_per_byte.send_not_sir: first=59357464 second=13895993 second/first=0.23
transaction_costs.data_receipt_creation_config.cost_per_byte.execution: first=59357464 second=13895993 second/first=0.23
transaction_costs.action_creation_config.create_account_cost.send_sir: first=99607375000 second=30911812500 second/first=0.31
transaction_costs.action_creation_config.create_account_cost.send_not_sir: first=99607375000 second=30911812500 second/first=0.31
transaction_costs.action_creation_config.create_account_cost.execution: first=99607375000 second=30911812500 second/first=0.31
transaction_costs.action_creation_config.deploy_contract_cost.send_sir: first=184765750000 second=52376500000 second/first=0.28
transaction_costs.action_creation_config.deploy_contract_cost.send_not_sir: first=184765750000 second=52376500000 second/first=0.28
transaction_costs.action_creation_config.deploy_contract_cost.execution: first=184765750000 second=52826825505 second/first=0.29
transaction_costs.action_creation_config.deploy_contract_cost_per_byte.send_sir: first=6812999 second=8298561 second/first=1.22
transaction_costs.action_creation_config.deploy_contract_cost_per_byte.send_not_sir: first=6812999 second=8298561 second/first=1.22
transaction_costs.action_creation_config.deploy_contract_cost_per_byte.execution: first=6812999 second=2333358119803 second/first=342486.20
transaction_costs.action_creation_config.function_call_cost.send_sir: first=2319861500000 second=257123312500 second/first=0.11
transaction_costs.action_creation_config.function_call_cost.send_not_sir: first=2319861500000 second=257123312500 second/first=0.11
transaction_costs.action_creation_config.function_call_cost.execution: first=2319861500000 second=257123312500 second/first=0.11
transaction_costs.action_creation_config.function_call_cost_per_byte.send_sir: first=2235934 second=31498 second/first=0.01
transaction_costs.action_creation_config.function_call_cost_per_byte.send_not_sir: first=2235934 second=31498 second/first=0.01
transaction_costs.action_creation_config.function_call_cost_per_byte.execution: first=2235934 second=31498 second/first=0.01
transaction_costs.action_creation_config.transfer_cost.send_sir: first=115123062500 second=32271375000 second/first=0.28
transaction_costs.action_creation_config.transfer_cost.send_not_sir: first=115123062500 second=32271375000 second/first=0.28
transaction_costs.action_creation_config.transfer_cost.execution: first=115123062500 second=32271375000 second/first=0.28
transaction_costs.action_creation_config.stake_cost.send_sir: first=141715687500 second=63955375000 second/first=0.45
transaction_costs.action_creation_config.stake_cost.send_not_sir: first=141715687500 second=63955375000 second/first=0.45
transaction_costs.action_creation_config.stake_cost.execution: first=102217625000 second=63955375000 second/first=0.63
transaction_costs.action_creation_config.add_key_cost.full_access_cost.send_sir: first=101765125000 second=32792187500 second/first=0.32
transaction_costs.action_creation_config.add_key_cost.full_access_cost.send_not_sir: first=101765125000 second=32792187500 second/first=0.32
transaction_costs.action_creation_config.add_key_cost.full_access_cost.execution: first=101765125000 second=32792187500 second/first=0.32
transaction_costs.action_creation_config.add_key_cost.function_call_cost.send_sir: first=102217625000 second=32156250000 second/first=0.31
transaction_costs.action_creation_config.add_key_cost.function_call_cost.send_not_sir: first=102217625000 second=32156250000 second/first=0.31
transaction_costs.action_creation_config.add_key_cost.function_call_cost.execution: first=102217625000 second=32156250000 second/first=0.31
transaction_costs.action_creation_config.add_key_cost.function_call_cost_per_byte.send_sir: first=1925331 second=12654743 second/first=6.57
transaction_costs.action_creation_config.add_key_cost.function_call_cost_per_byte.send_not_sir: first=1925331 second=12654743 second/first=6.57
transaction_costs.action_creation_config.add_key_cost.function_call_cost_per_byte.execution: first=1925331 second=12654743 second/first=6.57
transaction_costs.action_creation_config.delete_key_cost.send_sir: first=94946625000 second=16654750000 second/first=0.18
transaction_costs.action_creation_config.delete_key_cost.send_not_sir: first=94946625000 second=16654750000 second/first=0.18
transaction_costs.action_creation_config.delete_key_cost.execution: first=94946625000 second=16654750000 second/first=0.18
wasm_config.ext_costs.read_memory_base: first=2609863200 second=721750875 second/first=0.28
wasm_config.ext_costs.write_memory_base: first=2803794861 second=899038125 second/first=0.32
wasm_config.ext_costs.write_memory_byte: first=2723772 second=184917 second/first=0.07
wasm_config.ext_costs.read_register_base: first=2517165186 second=624045000 second/first=0.25
wasm_config.ext_costs.write_register_base: first=2865522486 second=994282875 second/first=0.35
wasm_config.ext_costs.utf8_decoding_base: first=3111779061 second=1247070936 second/first=0.40
wasm_config.ext_costs.utf16_decoding_base: first=3543313050 second=1688760411 second/first=0.48
wasm_config.ext_costs.sha256_base: first=4540970250 second=2957362500 second/first=0.65
wasm_config.ext_costs.keccak256_base: first=5879491275 second=3936033561 second/first=0.67
wasm_config.ext_costs.keccak512_base: first=5811388236 second=3915809286 second/first=0.67
wasm_config.ext_costs.ripemd160_base: first=853675086 second=0 second/first=0.00
wasm_config.ext_costs.ripemd160_block: first=680107584 second=0 second/first=0.00
wasm_config.ext_costs.ecrecover_base: first=3365369625000 second=0 second/first=0.00
wasm_config.ext_costs.log_base: first=3543313050 second=1688760411 second/first=0.48
wasm_config.ext_costs.storage_write_base: first=64196736000 second=51530160750 second/first=0.80
wasm_config.ext_costs.storage_write_value_byte: first=31018539 second=6132281352 second/first=197.70
wasm_config.ext_costs.storage_write_evicted_byte: first=32117307 second=9355794216 second/first=291.30
wasm_config.ext_costs.storage_read_base: first=56356845750 second=79860850125 second/first=1.42
wasm_config.ext_costs.storage_read_key_byte: first=30952533 second=16353686595 second/first=528.35
wasm_config.ext_costs.storage_read_value_byte: first=5611005 second=15653097519 second/first=2789.71
wasm_config.ext_costs.storage_remove_base: first=53473030500 second=94611238125 second/first=1.77
wasm_config.ext_costs.storage_remove_key_byte: first=38220384 second=17685912321 second/first=462.74
wasm_config.ext_costs.storage_remove_ret_value_byte: first=11531556 second=16289860227 second/first=1412.63
wasm_config.ext_costs.storage_has_key_base: first=54039896625 second=74585353125 second/first=1.38
wasm_config.ext_costs.storage_has_key_byte: first=30790845 second=15144415578 second/first=491.85
wasm_config.ext_costs.touching_trie_node: first=16101955926 second=22817385750 second/first=1.42
wasm_config.ext_costs.promise_and_base: first=1465013400 second=15777546360 second/first=10.77
wasm_config.ext_costs.promise_and_per_promise: first=5452176 second=129571245 second/first=23.77
wasm_config.ext_costs.promise_return: first=560152386 second=13893078891 second/first=24.80
wasm_config.limit_config.max_transaction_size: first=4194304 second=0 second/first=0.00

Findings

  • function_call_cost and deploy_contract_cost_per_byte diff looks like what we wanted to achieve
  • but function_call_cost base = 257123312500 per_byte = 31498 is suspicious itself
  • data_receipt_creation_config and ext_costs.storage_* diff looks suspicious from the first sight
  • add_key_cost.function_call_cost_per_byte diff is kind of expected: add_key_cost.function_call_cost_per_byte is not correctly calculated from  #3037

@bowenwang1996
Copy link
Collaborator

data_receipt_creation_config: DataReceiptCreationConfig {
            base_cost: Fee {
                send_sir: 50745691155500,
                send_not_sir: 50745691155500,
                execution: 50745691155500,
            },
            cost_per_byte: Fee {
                send_sir: 13895993,
                send_not_sir: 13895993,
                execution: 13895993,
            },
        },

This is definitely not correct. Data receipt creation should not cost 50Tgas. cc @olonho

@stale
Copy link

stale bot commented Jul 30, 2021

This PR has been automatically marked as stale because it has not had recent activity in the 2 weeks.
It will be closed in 3 days if no further activity occurs.
Thank you for your contributions.

@stale stale bot added the S-stale label Jul 30, 2021
matklad added a commit to matklad/nearcore that referenced this pull request Aug 5, 2021
The numeric value of the cost stays exactly the same (3856371 is evenly
divisible by 3).

Looking at the recent measurements in

near#4455 (comment)

it's clear that the measured cost is 3x lower.
matklad added a commit to matklad/nearcore that referenced this pull request Aug 5, 2021
The numeric value of the cost stays exactly the same (3856371 is evenly
divisible by 3).

Looking at the recent measurements in

near#4455 (comment)

it's clear that the measured cost is 3x lower.
matklad added a commit to matklad/nearcore that referenced this pull request Aug 5, 2021
The numeric value of the cost stays exactly the same (3856371 is evenly
divisible by 3).

Looking at the recent measurements in

near#4455 (comment)

it's clear that the measured cost is 3x lower.
matklad added a commit to matklad/nearcore that referenced this pull request Aug 5, 2021
The numeric value of the cost stays exactly the same (3856371 is evenly
divisible by 3).

Looking at the recent measurements in

near#4455 (comment)

it's clear that the measured cost is 3x lower.
near-bulldozer bot pushed a commit that referenced this pull request Aug 6, 2021
The numeric value of the cost stays exactly the same (3856371 is evenly
divisible by 3).

Looking at the recent measurements in

#4455 (comment)

it's clear that the measured cost is 3x lower.

Test Plan:
--------

Just visual inspection that the constant stays the same.
nikurt pushed a commit that referenced this pull request Aug 9, 2021
The numeric value of the cost stays exactly the same (3856371 is evenly
divisible by 3).

Looking at the recent measurements in

#4455 (comment)

it's clear that the measured cost is 3x lower.

Test Plan:
--------

Just visual inspection that the constant stays the same.
@Longarithm
Copy link
Member Author

Closing because the params-estimator logic changed a lot.
Also the work moved to another direction - e.g. we had to increase deployment costs #6397

@Longarithm Longarithm closed this Mar 25, 2022
@bowenwang1996 bowenwang1996 deleted the update-cost branch March 31, 2022 00:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-transaction-runtime Area: transaction runtime (transaction and receipts processing, state transition, etc)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Recompute gas costs for function call base and data creation
2 participants