flow-go icon indicating copy to clipboard operation
flow-go copied to clipboard

Execution data verification

Open m4ksio opened this issue 2 years ago • 1 comments

m4ksio avatar Jun 17 '22 17:06 m4ksio

FVM Benchstat comparison

This branch with compared with the base branch onflow:master commit d96331d4bea34a185c43e73aa269d0fe0225810a

The command (for i in {1..7}; do go test ./fvm ./engine/execution/computation --bench . --tags relic -shuffle=on --benchmem --run ^$; done) was used.

Collapsed results for better readability

old.txtnew.txt
time/opdelta
pkg:github.com/onflow/flow-go/fvm goos:linux goarch:amd64
RuntimeTransaction/reference_tx-234.5ms ± 4%34.2ms ± 5%~(p=0.628 n=6+7)
RuntimeTransaction/convert_int_to_string-242.2ms ±16%36.6ms ± 3%~(p=0.101 n=7+6)
RuntimeTransaction/convert_int_to_string_and_concatenate_it-239.0ms ±11%40.7ms ±20%~(p=0.535 n=7+7)
RuntimeTransaction/get_signer_address-235.3ms ± 3%37.4ms ±14%~(p=0.209 n=7+7)
RuntimeTransaction/get_public_account-238.8ms ± 2%37.8ms ± 5%~(p=0.310 n=6+6)
RuntimeTransaction/get_account_and_get_balance-2324ms ± 5%327ms ± 3%~(p=0.318 n=7+7)
RuntimeTransaction/get_account_and_get_available_balance-2289ms ± 6%291ms ± 6%~(p=0.710 n=7+7)
RuntimeTransaction/get_account_and_get_storage_used-240.7ms ± 7%39.8ms ± 4%~(p=0.209 n=7+7)
RuntimeTransaction/get_account_and_get_storage_capacity-2267ms ± 3%266ms ± 2%~(p=0.805 n=7+7)
RuntimeTransaction/get_signer_vault-243.7ms ± 8%42.8ms ± 8%~(p=0.318 n=7+7)
RuntimeTransaction/get_signer_receiver-257.9ms ± 3%56.6ms ± 5%~(p=0.097 n=7+7)
RuntimeTransaction/transfer_tokens-2223ms ± 3%225ms ± 2%~(p=0.620 n=7+7)
RuntimeTransaction/load_and_save_empty_string_on_signers_address-241.9ms ± 5%42.1ms ± 2%~(p=0.259 n=7+7)
RuntimeTransaction/load_and_save_long_string_on_signers_address-286.2ms ± 7%88.1ms ± 4%~(p=0.318 n=7+7)
RuntimeTransaction/create_new_account-2906ms ± 1%910ms ± 3%~(p=0.318 n=7+7)
RuntimeTransaction/call_empty_contract_function-238.4ms ± 3%38.4ms ± 4%~(p=0.902 n=7+7)
RuntimeTransaction/emit_event-253.5ms ± 4%52.9ms ± 7%~(p=0.456 n=7+7)
RuntimeTransaction/borrow_array_from_storage-2151ms ± 5%148ms ± 2%~(p=0.209 n=7+7)
RuntimeTransaction/copy_array_from_storage-2155ms ± 1%155ms ± 3%~(p=0.836 n=6+7)
RuntimeNFTBatchTransfer-2127ms ± 3%128ms ± 4%~(p=0.535 n=7+7)
pkg:github.com/onflow/flow-go/engine/execution/computation goos:linux goarch:amd64
ComputeBlock/16/cols/128/txes-25.00s ± 3%4.93s ± 2%~(p=0.318 n=7+7)
 
computationdelta
pkg:github.com/onflow/flow-go/fvm goos:linux goarch:amd64
RuntimeTransaction/reference_tx-2202 ± 0%202 ± 0%~(all equal)
RuntimeTransaction/convert_int_to_string-2402 ± 0%402 ± 0%~(all equal)
RuntimeTransaction/convert_int_to_string_and_concatenate_it-2502 ± 0%502 ± 0%~(all equal)
RuntimeTransaction/get_signer_address-2302 ± 0%302 ± 0%~(all equal)
RuntimeTransaction/get_public_account-2402 ± 0%402 ± 0%~(all equal)
RuntimeTransaction/get_account_and_get_balance-21.00k ± 0%1.00k ± 0%~(all equal)
RuntimeTransaction/get_account_and_get_available_balance-22.60k ± 0%2.60k ± 0%~(all equal)
RuntimeTransaction/get_account_and_get_storage_used-2402 ± 0%402 ± 0%~(all equal)
RuntimeTransaction/get_account_and_get_storage_capacity-21.70k ± 0%1.70k ± 0%~(all equal)
RuntimeTransaction/get_signer_vault-2402 ± 0%402 ± 0%~(all equal)
RuntimeTransaction/get_signer_receiver-2602 ± 0%602 ± 0%~(all equal)
RuntimeTransaction/transfer_tokens-23.50k ± 0%3.50k ± 0%~(all equal)
RuntimeTransaction/load_and_save_empty_string_on_signers_address-2602 ± 0%602 ± 0%~(all equal)
RuntimeTransaction/load_and_save_long_string_on_signers_address-2602 ± 0%602 ± 0%~(all equal)
RuntimeTransaction/create_new_account-2202 ± 0%202 ± 0%~(all equal)
RuntimeTransaction/call_empty_contract_function-2402 ± 0%402 ± 0%~(all equal)
RuntimeTransaction/emit_event-2602 ± 0%602 ± 0%~(all equal)
RuntimeTransaction/borrow_array_from_storage-22.60k ± 0%2.60k ± 0%~(all equal)
RuntimeTransaction/copy_array_from_storage-22.60k ± 0%2.60k ± 0%~(all equal)
 
interactionsdelta
pkg:github.com/onflow/flow-go/fvm goos:linux goarch:amd64
RuntimeTransaction/reference_tx-2212k ± 0%212k ± 0%~(all equal)
RuntimeTransaction/convert_int_to_string-2212k ± 0%212k ± 0%~(all equal)
RuntimeTransaction/convert_int_to_string_and_concatenate_it-2212k ± 0%212k ± 0%~(all equal)
RuntimeTransaction/get_signer_address-2212k ± 0%212k ± 0%~(all equal)
RuntimeTransaction/get_public_account-2212k ± 0%212k ± 0%~(all equal)
RuntimeTransaction/get_account_and_get_balance-223.8M ± 0%23.8M ± 0%~(all equal)
RuntimeTransaction/get_account_and_get_available_balance-25.43M ± 0%5.43M ± 0%~(all equal)
RuntimeTransaction/get_account_and_get_storage_used-2212k ± 0%212k ± 0%~(all equal)
RuntimeTransaction/get_account_and_get_storage_capacity-25.43M ± 0%5.43M ± 0%~(all equal)
RuntimeTransaction/get_signer_vault-2212k ± 0%212k ± 0%~(all equal)
RuntimeTransaction/get_signer_receiver-2212k ± 0%212k ± 0%~(all equal)
RuntimeTransaction/transfer_tokens-2212k ± 0%212k ± 0%~(all equal)
RuntimeTransaction/load_and_save_empty_string_on_signers_address-2212k ± 0%212k ± 0%~(all equal)
RuntimeTransaction/load_and_save_long_string_on_signers_address-2215k ± 0%215k ± 0%~(all equal)
RuntimeTransaction/create_new_account-212.0M ± 0%12.0M ± 0%~(all equal)
RuntimeTransaction/call_empty_contract_function-2213k ± 0%213k ± 0%~(all equal)
RuntimeTransaction/emit_event-2213k ± 0%213k ± 0%~(all equal)
RuntimeTransaction/borrow_array_from_storage-2218k ± 0%218k ± 0%~(all equal)
RuntimeTransaction/copy_array_from_storage-2218k ± 0%218k ± 0%~(all equal)
 
alloc/opdelta
pkg:github.com/onflow/flow-go/fvm goos:linux goarch:amd64
RuntimeTransaction/reference_tx-233.9MB ± 4%34.6MB ± 3%~(p=0.128 n=7+7)
RuntimeTransaction/convert_int_to_string-235.5MB ± 4%35.2MB ± 4%~(p=0.535 n=7+7)
RuntimeTransaction/convert_int_to_string_and_concatenate_it-235.5MB ± 5%35.3MB ± 6%~(p=1.000 n=7+7)
RuntimeTransaction/get_signer_address-234.7MB ± 3%34.6MB ± 1%~(p=0.535 n=7+7)
RuntimeTransaction/get_public_account-236.2MB ± 5%35.7MB ± 5%~(p=0.318 n=7+7)
RuntimeTransaction/get_account_and_get_balance-2122MB ± 2%124MB ± 1%~(p=0.209 n=7+7)
RuntimeTransaction/get_account_and_get_available_balance-2105MB ± 4%104MB ± 3%~(p=0.535 n=7+7)
RuntimeTransaction/get_account_and_get_storage_used-236.6MB ± 5%36.0MB ± 3%~(p=0.318 n=7+7)
RuntimeTransaction/get_account_and_get_storage_capacity-2103MB ± 3%103MB ± 2%~(p=0.620 n=7+7)
RuntimeTransaction/get_signer_vault-236.9MB ± 7%36.7MB ± 6%~(p=0.902 n=7+7)
RuntimeTransaction/transfer_tokens-284.1MB ± 4%83.3MB ± 3%~(p=0.383 n=7+7)
RuntimeTransaction/load_and_save_empty_string_on_signers_address-236.1MB ± 4%35.6MB ± 1%~(p=0.234 n=7+6)
RuntimeTransaction/load_and_save_long_string_on_signers_address-252.2MB ± 6%53.0MB ± 3%~(p=0.209 n=7+7)
RuntimeTransaction/create_new_account-2186MB ± 3%187MB ± 3%~(p=0.535 n=7+7)
RuntimeTransaction/call_empty_contract_function-235.8MB ± 5%35.8MB ± 2%~(p=0.710 n=7+7)
RuntimeTransaction/emit_event-240.7MB ± 3%39.7MB ± 5%~(p=0.165 n=7+7)
RuntimeTransaction/borrow_array_from_storage-269.6MB ± 2%68.7MB ± 4%~(p=0.383 n=7+7)
RuntimeTransaction/copy_array_from_storage-282.0MB ± 3%82.2MB ± 3%~(p=0.902 n=7+7)
RuntimeNFTBatchTransfer-253.8MB ± 4%54.1MB ± 6%~(p=0.620 n=7+7)
pkg:github.com/onflow/flow-go/engine/execution/computation goos:linux goarch:amd64
ComputeBlock/16/cols/128/txes-21.20GB ± 1%1.20GB ± 1%~(p=1.000 n=7+7)
pkg:github.com/onflow/flow-go/fvm goos:linux goarch:amd64
RuntimeTransaction/get_signer_receiver-242.4MB ± 3%41.2MB ± 3%−2.96%(p=0.017 n=7+7)
 
allocs/opdelta
pkg:github.com/onflow/flow-go/fvm goos:linux goarch:amd64
RuntimeTransaction/reference_tx-280.0k ± 0%80.0k ± 0%+0.01%(p=0.042 n=7+7)
RuntimeTransaction/load_and_save_long_string_on_signers_address-2194k ± 0%194k ± 0%+0.01%(p=0.028 n=6+7)
RuntimeTransaction/convert_int_to_string-292.2k ± 0%92.2k ± 0%~(p=0.804 n=7+7)
RuntimeTransaction/convert_int_to_string_and_concatenate_it-2103k ± 0%103k ± 0%~(p=0.268 n=7+5)
RuntimeTransaction/get_signer_address-284.2k ± 0%84.2k ± 0%~(p=0.689 n=7+7)
RuntimeTransaction/get_public_account-2106k ± 0%106k ± 0%~(p=0.882 n=7+7)
RuntimeTransaction/get_account_and_get_balance-21.32M ± 0%1.32M ± 0%~(p=0.710 n=7+7)
RuntimeTransaction/get_account_and_get_available_balance-21.20M ± 0%1.20M ± 0%~(p=0.596 n=7+7)
RuntimeTransaction/get_account_and_get_storage_used-2116k ± 0%116k ± 0%~(p=0.917 n=7+7)
RuntimeTransaction/get_account_and_get_storage_capacity-21.12M ± 0%1.12M ± 0%~(p=0.735 n=7+7)
RuntimeTransaction/get_signer_vault-2121k ± 0%121k ± 0%~(p=0.645 n=7+7)
RuntimeTransaction/transfer_tokens-2840k ± 0%839k ± 0%~(p=0.209 n=7+7)
RuntimeTransaction/load_and_save_empty_string_on_signers_address-2119k ± 0%119k ± 0%~(p=0.432 n=7+6)
RuntimeTransaction/create_new_account-22.31M ± 0%2.31M ± 0%~(p=1.000 n=7+7)
RuntimeTransaction/call_empty_contract_function-295.6k ± 0%95.6k ± 0%~(p=0.471 n=7+7)
RuntimeTransaction/emit_event-2135k ± 0%135k ± 0%~(p=0.734 n=7+7)
RuntimeTransaction/borrow_array_from_storage-2334k ± 0%334k ± 0%~(p=0.387 n=6+7)
RuntimeTransaction/copy_array_from_storage-2290k ± 0%290k ± 0%~(p=0.646 n=7+7)
RuntimeNFTBatchTransfer-2267k ± 1%267k ± 1%~(p=1.000 n=7+7)
pkg:github.com/onflow/flow-go/engine/execution/computation goos:linux goarch:amd64
ComputeBlock/16/cols/128/txes-216.9M ± 0%16.9M ± 0%~(p=0.456 n=7+7)
pkg:github.com/onflow/flow-go/fvm goos:linux goarch:amd64
RuntimeTransaction/get_signer_receiver-2195k ± 0%195k ± 0%−0.01%(p=0.034 n=7+6)
 
us/txdelta
pkg:github.com/onflow/flow-go/engine/execution/computation goos:linux goarch:amd64
ComputeBlock/16/cols/128/txes-22.44k ± 3%2.40k ± 2%~(p=0.301 n=7+7)
 

github-actions[bot] avatar Aug 15 '22 20:08 github-actions[bot]

Codecov Report

Merging #2647 (d7f6fcc) into master (69f0be7) will decrease coverage by 1.65%. The diff coverage is 67.19%.

@@            Coverage Diff             @@
##           master    #2647      +/-   ##
==========================================
- Coverage   55.50%   53.84%   -1.66%     
==========================================
  Files         765      617     -148     
  Lines       69798    53081   -16717     
==========================================
- Hits        38739    28584   -10155     
+ Misses      27881    22162    -5719     
+ Partials     3178     2335     -843     
Flag Coverage Δ
unittests 53.84% <67.19%> (-1.66%) :arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
cmd/scaffold.go 15.75% <0.00%> (-0.02%) :arrow_down:
model/chunks/executionDataFaults.go 0.00% <0.00%> (ø)
model/flow/chunk.go 50.00% <ø> (ø)
network/p2p/p2pbuilder/libp2pNodeBuilder.go 0.00% <0.00%> (ø)
network/p2p/unicast/ratelimit/noop_rate_limiter.go 0.00% <0.00%> (ø)
network/p2p/unicast/ratelimit/rate_limiters.go 0.00% <0.00%> (ø)
network/validator/any_validator.go 0.00% <0.00%> (ø)
network/validator/not_validator.go 0.00% <0.00%> (ø)
network/validator/origin_validator.go 0.00% <0.00%> (ø)
network/validator/sender_validator.go 0.00% <0.00%> (ø)
... and 181 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

codecov-commenter avatar Dec 14 '22 05:12 codecov-commenter

closing in favor of new refactored version: https://github.com/onflow/flow-go/pull/4586

peterargue avatar Aug 28 '23 23:08 peterargue