comparing Devnet on main and Devnet on this PR's branch
Devnet binaries compiled with cargo build --release
sample size: 10
alternative hypothesis: two-sided
With --state-archive-capacity full
Time (s): TtestResult(statistic=-2.102220212750287, pvalue=0.04987296605083779, df=18.0)
- Mean (main vs this branch): 6.6 s vs 7.0 s
Memory (MB): TtestResult(statistic=853.6179541610356, pvalue=6.351731250129005e-43, df=18.0)
- Mean (main vs this branch): 997 MB vs 34 MB
With no feature flags
Time (s): TtestResult(statistic=-1.6918289270796756, pvalue=0.10791760227433438, df=18.0)
- Mean (main vs this branch): 6.4 s vs 6.7 s
Memory (MB): TtestResult(statistic=7.890611697084889, pvalue=2.979935622929167e-07, df=18.0)
- Mean (main vs this branch): 20 MB vs 14 MB
Conclusion
Time slightly worse in regular mode
Memory consumption reduced in regular and full-state-archive-capacity mode, significantly in the latter.
Usage related changes
Benchmarking
./scripts/benchmark/command_stat_test.py
(500 mints):main
and Devnet on this PR's branchcargo build --release
With
--state-archive-capacity full
With no feature flags
Conclusion
Development related changes
StarknetState
rpc_contract_classes: Arc<RwLock<CommittedClassStorage>>
crates/starknet-devnet-core/src/starknet/get_class_impls.rs
parking_lot
std
's ortokio
'sblocks_on_demand_declarations
fails onmain
StateDiff
increate_block
.pending_state_diff
by relying on the newly addedStateDiff::extend
.commit_with_diff
renamed tocommit_diff
, no longer accepts thestate_diff
parameter.default_global_contract_cache
.StateDiff::generate
accepts newly declared classes instead of the whole class storage.assert_cairo1_classes_equal
now working with references - removes unnecessary cloning.Checklist:
./scripts/format.sh
./scripts/clippy_check.sh
./scripts/check_unused_deps.sh
./scripts/check_spelling.sh
./website/README.md