flow-go
flow-go copied to clipboard
"Charge" users for contract updates.
In reality, this is a no-op change since flushing pending contracts does not modify computation/memory usage (it only changes interaction count).
This moves all metered execution into a single continuous section in the normal execution path, and simplifies fees deduction a bit since we no longer need to worry that metered usage may change afterward.
FVM Benchstat comparison
This branch with compared with the base branch onflow:master commit 2440283d103da982734080064a9f738adf5bec48
The command (for i in {1..10}; do go test ./fvm ./engine/execution/computation --bench . --tags relic -shuffle=on --benchmem --run ^$; done)
was used.
Collapsed results for better readability
old.txt | new.txt | |||
---|---|---|---|---|
time/op | delta | |||
ComputeBlock/16/cols/128/txes-2 | 6.47s ± 0% | 6.24s ± 0% | ~ | (p=1.000 n=1+1) |
us/tx | delta | |||
ComputeBlock/16/cols/128/txes-2 | 3.16k ± 0% | 3.05k ± 0% | ~ | (p=1.000 n=1+1) |
alloc/op | delta | |||
ComputeBlock/16/cols/128/txes-2 | 1.27GB ± 0% | 1.28GB ± 0% | ~ | (p=1.000 n=1+1) |
allocs/op | delta | |||
ComputeBlock/16/cols/128/txes-2 | 19.9M ± 0% | 19.9M ± 0% | ~ | (p=1.000 n=1+1) |
Codecov Report
Merging #3396 (1bb1cc2) into master (2440283) will decrease coverage by
5.02%
. The diff coverage is76.92%
.
@@ Coverage Diff @@
## master #3396 +/- ##
==========================================
- Coverage 55.47% 50.44% -5.03%
==========================================
Files 752 435 -317
Lines 68494 39415 -29079
==========================================
- Hits 37997 19884 -18113
+ Misses 27424 17794 -9630
+ Partials 3073 1737 -1336
Flag | Coverage Δ | |
---|---|---|
unittests | 50.44% <76.92%> (-5.03%) |
:arrow_down: |
Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.
bors merge
Build succeeded:
- Integration Tests (make -C integration access-tests)
- Integration Tests (make -C integration bft-tests)
- Integration Tests (make -C integration collection-tests)
- Integration Tests (make -C integration consensus-tests)
- Integration Tests (make -C integration epochs-tests)
- Integration Tests (make -C integration execution-tests)
- Integration Tests (make -C integration ghost-tests)
- Integration Tests (make -C integration mvp-tests)
- Integration Tests (make -C integration network-tests)
- Integration Tests (make -C integration verification-tests)
- Lint (./)
- Lint (./crypto/)
- Lint (./integration/)
- Unit Tests (access)
- Unit Tests (admin)
- Unit Tests (cmd)
- Unit Tests (consensus)
- Unit Tests (engine)
- Unit Tests (fvm)
- Unit Tests (ledger)
- Unit Tests (module)
- Unit Tests (network)
- Unit Tests (others)
- Unit Tests (utils)