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

Architecture: Remove Hash Tree mut Requirement #1668

Merged
merged 9 commits into from
Jan 3, 2024

Conversation

talekhinezh
Copy link
Member

@talekhinezh talekhinezh commented Jan 2, 2024

Remove mut requirement on hash tree methods. Replaced with interior mutability implementation.

@talekhinezh talekhinezh changed the base branch from main to develop January 2, 2024 17:32
Copy link

github-actions bot commented Jan 2, 2024

Benchmark for 50cbed9

Click to view benchmark
Test Base PR %
costing::bench_prepare_wasm 62.4±0.54ms 62.0±0.40ms -0.64%
costing::decode_sbor 13.1±0.04µs 13.2±0.13µs +0.76%
costing::decode_sbor_bytes 36.8±0.03µs 35.5±0.04µs -3.53%
costing::deserialize_wasm 1240.2±2.50µs 1236.9±1.76µs -0.27%
costing::instantiate_flash_loan 3.6±0.10ms 3.8±0.41ms +5.56%
costing::instantiate_radiswap 5.0±0.04ms 5.0±0.08ms 0.00%
costing::spin_loop 21.5±0.06ms 21.6±0.01ms +0.47%
costing::validate_sbor_payload 25.9±0.02µs 26.2±0.03µs +1.16%
costing::validate_sbor_payload_bytes 369.0±0.32ns 350.9±0.35ns -4.91%
costing::validate_secp256k1 80.2±0.08µs 80.2±0.07µs 0.00%
costing::validate_wasm 34.6±0.02ms 35.6±0.02ms +2.89%
decimal::add/0 7.2±0.00ns 7.2±0.00ns 0.00%
decimal::add/rust-native 9.4±0.03ns 9.5±0.01ns +1.06%
decimal::add/wasmer 135.6±0.10ns 133.5±0.11ns -1.55%
decimal::add/wasmer-call-native 521.2±0.21ns 517.5±0.22ns -0.71%
decimal::add/wasmi 444.6±0.59ns 437.0±0.10ns -1.71%
decimal::add/wasmi-call-native 3.4±0.02µs 3.3±0.01µs -2.94%
decimal::div/0 173.3±0.08ns 165.4±0.05ns -4.56%
decimal::from_string/0 153.2±0.21ns 151.7±0.26ns -0.98%
decimal::mul/0 130.3±0.09ns 129.1±0.14ns -0.92%
decimal::mul/rust-native 131.6±0.09ns 132.7±0.22ns +0.84%
decimal::mul/wasmer 1752.4±1.61ns 1739.7±1.19ns -0.72%
decimal::mul/wasmer-call-native 650.7±0.16ns 714.1±1.21ns +9.74%
decimal::mul/wasmi 26.8±0.03µs 26.5±0.03µs -1.12%
decimal::mul/wasmi-call-native 3.5±0.01µs 3.5±0.03µs 0.00%
decimal::pow/0 624.6±0.63ns 622.4±0.13ns -0.35%
decimal::pow/rust-native 607.0±0.20ns 607.9±0.26ns +0.15%
decimal::pow/wasmer 7.6±0.01µs 7.6±0.00µs 0.00%
decimal::pow/wasmer-call-native 1079.7±5.77ns 1072.5±0.36ns -0.67%
decimal::pow/wasmi 127.8±0.18µs 127.2±0.17µs -0.47%
decimal::pow/wasmi-call-native 3.4±0.01µs 3.4±0.01µs 0.00%
decimal::root/0 9.3±0.01µs 9.0±0.00µs -3.23%
decimal::sub/0 7.2±0.00ns 7.2±0.00ns 0.00%
decimal::to_string/0 485.5±0.44ns 485.0±0.25ns -0.10%
precise_decimal::add/0 8.0±0.00ns 8.6±0.00ns +7.50%
precise_decimal::add/rust-native 10.4±0.00ns 10.3±0.02ns -0.96%
precise_decimal::add/wasmer 141.9±0.08ns 140.3±0.05ns -1.13%
precise_decimal::add/wasmer-call-native 535.5±0.13ns 555.9±0.29ns +3.81%
precise_decimal::add/wasmi 533.7±0.22ns 529.3±0.90ns -0.82%
precise_decimal::add/wasmi-call-native 3.7±0.03µs 3.6±0.02µs -2.70%
precise_decimal::div/0 272.8±0.13ns 266.7±0.05ns -2.24%
precise_decimal::from_string/0 198.6±0.08ns 197.3±0.13ns -0.65%
precise_decimal::mul/0 285.0±0.12ns 282.5±0.16ns -0.88%
precise_decimal::mul/rust-native 260.4±0.15ns 284.3±0.31ns +9.18%
precise_decimal::mul/wasmer 4.0±0.01µs 4.0±0.00µs 0.00%
precise_decimal::mul/wasmer-call-native 820.8±0.25ns 825.8±0.32ns +0.61%
precise_decimal::mul/wasmi 75.2±0.04µs 74.7±0.01µs -0.66%
precise_decimal::mul/wasmi-call-native 3.9±0.01µs 3.9±0.03µs 0.00%
precise_decimal::pow/0 1584.3±0.62ns 1572.0±1.03ns -0.78%
precise_decimal::pow/rust-native 1266.6±0.46ns 1264.0±0.64ns -0.21%
precise_decimal::pow/wasmer 18.9±0.01µs 18.9±0.01µs 0.00%
precise_decimal::pow/wasmer-call-native 2.0±0.00µs 2.0±0.00µs 0.00%
precise_decimal::pow/wasmi 363.9±0.28µs 361.4±0.44µs -0.69%
precise_decimal::pow/wasmi-call-native 7.7±0.02µs 7.6±0.04µs -1.30%
precise_decimal::root/0 60.5±0.04µs 61.2±0.06µs +1.16%
precise_decimal::sub/0 8.3±0.00ns 8.9±0.02ns +7.23%
precise_decimal::to_string/0 740.4±0.18ns 739.6±0.28ns -0.11%
schema::validate_payload 377.0±0.55µs 333.1±0.36µs -11.64%
transaction::radiswap 5.2±0.04ms 5.2±0.04ms 0.00%
transaction::transfer 1675.7±2.58µs 1690.9±5.28µs +0.91%
transaction_processing::prepare 2.4±0.00ms 2.5±0.00ms +4.17%
transaction_processing::prepare_and_decompile 6.2±0.01ms 6.2±0.01ms 0.00%
transaction_processing::prepare_and_decompile_and_recompile 22.4±0.04ms 22.6±0.03ms +0.89%
transaction_validation::validate_manifest 43.7±0.07µs 43.7±0.07µs 0.00%
transaction_validation::verify_ecdsa 78.0±0.07µs 78.0±0.08µs 0.00%
transaction_validation::verify_ed25519 52.1±0.07µs 51.6±0.66µs -0.96%

Copy link
Contributor

@jakrawcz-rdx jakrawcz-rdx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

totally good idea 👍

radix-engine-stores/src/hash_tree/test.rs Outdated Show resolved Hide resolved
@talekhinezh talekhinezh merged commit 930dcae into develop Jan 3, 2024
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants