Gavin Wood
af9083f53b
Refactor away from opaque hashes ( #5226 )
...
* System.BlockHash
* Fix hash
* Introduce K/V iteration in all _concat maps
Also move across:
- System.Account (blake2_128_concat)
- Balances.Locks (twox_64_concat)
- ElectionsPhragmen.VotesOf (twox_64_concat)
- ElectionsPhragmen.StakeOf (twox_64_concat)
- Identity.IdentityOf (twox_64_concat)
- Identity.SubsOf (twox_64_concat)
- Society.Payouts (twox_64_concat)
- Session.NextKeys (twox_64_concat)
- Identity.SuperOf (blake2_128_concat)
- Session.KeyOwner (blake2_128_concat)
- Society.SuspendedCandidates (twox_64_concat)
- Society.SuspendedMembers (twox_64_concat)
- Society.Vouching (twox_64_concat)
- Society.Strikes (twox_64_concat)
- System.EventTopics
- Balances.Account
* Build fixes
* Ensure migration happens in correct order
* Staking.*
* Vesting.* Offences.*
* Democracy.*
* Babe.* Collective.*
* Grandpa.*
* Assets.* Benchmark.* Contracts.* Elections.* Asset.* Nicks.*
Also introduce real account list
* ImOnline.*
* Treasury.*
* Recovery.*
* Final bits.
* Docs
* Fix one test
* Fix test
* All passing except the UI tests
* Remove linked_map part 1
* Remove linked_map
* Some iterator utils for double maps.
* Remove old migrations
* Introduce tombstone for LinkedMap type
* Migration for genesis hash
* Fix build
* Fix hash
* Rename Map is_linked -> unused, keeping backwards compat (#5256 )
* Update frame/balances/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update frame/elections/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Remove old migration code.
* Update frame/system/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update bin/node/runtime/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Fix hash
* fix session migration
* Fix watning
Co-authored-by: Jaco Greeff <jacogr@gmail.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Robert Habermeier <rphmeier@gmail.com >
2020-03-16 23:19:53 +01:00
Benjamin Kampmann
5a33228ea9
Reduce usage of Blake2Hasher ( #5132 )
...
This reduces the usage of `Blake2Hasher` in the code base and replaces
it with `BlakeTwo256`. The most important change is the removal of the
custom extern function for `Blake2Hasher`. The runtime `Hash` trait is
now also simplified and directly requires that the implementing type
implements `Hashable`.
2020-03-05 08:51:03 +01:00
Shawn Tabrizi
3d6329a22d
A Pallet for Benchmarking Common Runtime Operations ( #4902 )
...
* Benchmark pallet
* Add a bunch more benchmarks
* do nothing test
* new benchmarks
* Clean up extra tests
* Encode and Decode Vec<T::AccountId>
* Starting to migrate benchmarks to macro
* Use macro
* Remove call and storage
* Update Cargo.toml
* Add storage recalc benchmark
* Add support for custom functions in benchmark! macro
* Reset DB for storage recalc
* Feedback from review
* Add more comments
* Remove benchmark pallet from node
* Fix cargo files
* Fix comments
* Change `crate` to `super`
* missed one
* Use results of benchmark encode/decode
* Pass generic to extra functions
* reset macro to master
* Update lib.rs
* Update to use standard syntax
2020-03-04 17:21:42 +01:00
Marcio Diaz
f39e705523
Fix benchmarks! macro for non dispatchable code ( #5100 )
...
* Init allowing non dispatchable closure to be benchmarked.
* Remove example, add it in timestamp
* Fix nits.
* Move test to example.
* Update frame/example/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update frame/example/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Apply review suggestion: move test to benchmarking crate.
* Update frame/benchmarking/src/lib.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
* Remove unused imports.
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Benjamin Kampmann <ben.kampmann@googlemail.com >
2020-03-04 10:13:14 +01:00
Marcio Diaz
347b5d641c
Add options to overwrite range bounds in benchmark command. ( #5072 )
...
* Add --mins --maxs to benchmark command.
* Apply review suggestions.
2020-02-28 15:40:42 +01:00
Marcio Diaz
d39605d9cd
Propagate DispatchError for benchmarks. ( #5075 )
...
* Propagate DispatchError for benchmarks.
* Apply review suggestions.
* Use RuntimeString.
* fix expect
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2020-02-28 12:05:27 +01:00
Marcio Diaz
d024364503
Add steps setting to benchmarking CLI ( #5033 )
...
* Add steps setting to CLI, use max value to hit worst case.
* Bump impl_version.
* Apply review suggestion.
2020-02-25 15:51:25 +01:00
Shawn Tabrizi
ad90ab7ec9
Add storage root recalculation time to benchmarks ( #5035 )
2020-02-24 18:07:38 +01:00
Gavin Wood
f5176ba377
Benchmark macro ( #4962 )
...
* MAcro benchamrks
* Iterative macro
* Tidying it up.
* Macro improvements
* Bits..
* Last benchmaks.
* Repo benchmark macro
* Add the possibility of evaluating arbitrary expressions in a
benchmaark
* Better syntax and docs
* Update `BenchmarkParameter`
* Add `ignore` to sudo-code in docs
* First try of timestamp implementation.
* Fix macro docs, remove warnings.
* Use macro in balances pallet.
* Make some space in frame benchmarking.
* Remove _benchmarks_seed variable.
* Bump impl_version.
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Marcio Diaz <marcio@parity.io >
2020-02-20 17:20:16 +01:00
Bastian Köcher
b4ebd41c21
Consolidate frame benchmarking into a frame crate ( #4977 )
...
This prs cleans up some of the frame benchmarking stuff:
- Move CLI into `frame-benchmarking-cli`. No frame related CLI should
exists in the default Substrate CLI.
- Move all traits and types related to frame benchmarking into the
`frame-benchmarking` trait. Frame types should be isolated in Frame.
2020-02-19 10:22:36 +01:00