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

Feature/Cuttlefish Transaction Processing #1910

Merged
merged 20 commits into from
Sep 13, 2024

Conversation

talekhinezh
Copy link
Member

@talekhinezh talekhinezh commented Sep 8, 2024

  • Add "Versioned System Logic" to system which versions portions of system logic given a protocol version
  • Add SystemBoot::V2 which includes a VersionedSystemLogic
  • Add SystemBoot update to Cuttlefish protocol update
  • Unified ExecutableIntentV1 and ExecutableIntentV2 into ExecutableIntent
  • Add the ability for the System Layer to update call frame data
  • Remove use of current_depth() api for absolute value checks and replaced with less fragile checks
  • Some modification to transaction processor costing for v2 execution

Copy link

github-actions bot commented Sep 8, 2024

Phylum Report Link

@talekhinezh talekhinezh marked this pull request as ready for review September 8, 2024 20:46
@talekhinezh talekhinezh changed the title Feature/transaction processing v2 Feature/Cuttlefish Transaction Processing Sep 8, 2024
Copy link

github-actions bot commented Sep 8, 2024

Docker tags
docker.io/radixdlt/private-scrypto-builder:e02167a647

Copy link

github-actions bot commented Sep 8, 2024

Benchmark for e02167a

Click to view benchmark
Test Base PR %
costing::bench_prepare_wasm 63.3±0.11ms 62.8±0.15ms -0.79%
costing::decode_encoded_i8_array_to_manifest_raw_value 19.3±0.01ms 19.3±0.00ms 0.00%
costing::decode_encoded_i8_array_to_manifest_value 41.4±0.07ms 42.2±0.06ms +1.93%
costing::decode_encoded_tuple_array_to_manifest_raw_value 61.0±0.09ms 61.4±0.40ms +0.66%
costing::decode_encoded_tuple_array_to_manifest_value 100.2±0.19ms 121.3±1.12ms +21.06%
costing::decode_encoded_u8_array_to_manifest_raw_value 32.1±0.08µs 25.7±0.07µs -19.94%
costing::decode_encoded_u8_array_to_manifest_value 41.4±0.07ms 42.4±0.08ms +2.42%
costing::decode_rpd_to_manifest_raw_value 12.8±0.02µs 12.7±0.01µs -0.78%
costing::decode_rpd_to_manifest_value 10.7±0.04µs 10.7±0.05µs 0.00%
costing::deserialize_wasm 1257.1±5.15µs 1272.7±4.42µs +1.24%
costing::execute_transaction_creating_big_vec_substates 713.4±13.64ms 706.3±13.20ms -1.00%
costing::execute_transaction_reading_big_vec_substates 584.8±0.76ms 573.4±0.72ms -1.95%
costing::instantiate_flash_loan 868.1±394.28µs 855.4±233.52µs -1.46%
costing::instantiate_radiswap 1037.4±1162.72µs 1164.8±1959.91µs +12.28%
costing::spin_loop 20.5±0.04ms 20.6±0.04ms +0.49%
costing::validate_sbor_payload 27.6±0.03µs 27.8±0.10µs +0.72%
costing::validate_sbor_payload_bytes 211.2±0.73ns 204.1±1.00ns -3.36%
costing::validate_secp256k1 76.6±0.07µs 76.9±0.05µs +0.39%
costing::validate_wasm 33.6±0.05ms 33.6±0.04ms 0.00%
decimal::add/0 8.4±0.00ns 8.4±0.00ns 0.00%
decimal::add/rust-native 9.9±0.01ns 9.9±0.01ns 0.00%
decimal::add/wasmi 223.1±0.29ns 228.8±0.21ns +2.55%
decimal::add/wasmi-call-native 2.1±0.01µs 2.1±0.00µs 0.00%
decimal::div/0 186.5±0.24ns 191.2±0.15ns +2.52%
decimal::from_string/0 156.8±1.88ns 155.0±0.41ns -1.15%
decimal::mul/0 150.0±0.15ns 151.3±0.21ns +0.87%
decimal::mul/rust-native 146.9±0.07ns 148.1±0.16ns +0.82%
decimal::mul/wasmi 12.0±0.02µs 11.8±0.04µs -1.67%
decimal::mul/wasmi-call-native 2.3±0.01µs 2.2±0.00µs -4.35%
decimal::pow/0 702.5±0.31ns 696.2±0.82ns -0.90%
decimal::pow/rust-native 666.9±1.45ns 668.7±0.70ns +0.27%
decimal::pow/wasmi 57.1±0.15µs 56.6±0.18µs -0.88%
decimal::pow/wasmi-call-native 2.5±0.01µs 2.5±0.00µs 0.00%
decimal::root/0 7.9±0.01µs 8.0±0.01µs +1.27%
decimal::sub/0 8.2±0.00ns 8.2±0.00ns 0.00%
decimal::to_string/0 439.1±0.18ns 437.6±1.14ns -0.34%
precise_decimal::add/0 9.0±0.02ns 8.8±0.01ns -2.22%
precise_decimal::add/rust-native 10.7±0.03ns 10.8±0.00ns +0.93%
precise_decimal::add/wasmi 273.4±0.54ns 270.9±0.57ns -0.91%
precise_decimal::add/wasmi-call-native 2.8±0.00µs 2.8±0.00µs 0.00%
precise_decimal::div/0 317.1±0.64ns 323.9±0.69ns +2.14%
precise_decimal::from_string/0 202.3±0.27ns 202.3±0.19ns 0.00%
precise_decimal::mul/0 374.0±2.24ns 374.4±1.80ns +0.11%
precise_decimal::mul/rust-native 318.6±0.26ns 329.9±1.13ns +3.55%
precise_decimal::mul/wasmi 33.8±0.15µs 34.1±0.18µs +0.89%
precise_decimal::mul/wasmi-call-native 3.2±0.01µs 3.2±0.00µs 0.00%
precise_decimal::pow/0 1993.3±3.11ns 1944.3±4.70ns -2.46%
precise_decimal::pow/rust-native 1572.7±2.86ns 1580.7±3.68ns +0.51%
precise_decimal::pow/wasmi 163.5±0.87µs 167.9±0.31µs +2.69%
precise_decimal::pow/wasmi-call-native 5.8±0.01µs 5.8±0.00µs 0.00%
precise_decimal::root/0 58.5±0.02µs 58.1±0.02µs -0.68%
precise_decimal::sub/0 9.0±0.00ns 8.9±0.01ns -1.11%
precise_decimal::to_string/0 698.2±0.42ns 692.6±0.36ns -0.80%
schema::validate_payload 365.3±0.54µs 365.5±0.90µs +0.05%
transaction::radiswap 5.2±0.03ms 5.0±0.03ms -3.85%
transaction::transfer 1882.4±3.22µs 1795.7±6.48µs -4.61%
transaction_processing::prepare 2.6±0.00ms 2.6±0.00ms 0.00%
transaction_processing::prepare_and_decompile 7.0±0.03ms 6.9±0.02ms -1.43%
transaction_processing::prepare_and_decompile_and_recompile 25.9±1.23ms 28.9±2.33ms +11.58%
transaction_validation::validate_manifest 42.8±0.03µs 42.8±0.09µs 0.00%
transaction_validation::verify_bls_2KB 1058.2±24.48µs 1003.5±10.80µs -5.17%
transaction_validation::verify_bls_32B 1004.9±11.45µs 1003.3±10.20µs -0.16%
transaction_validation::verify_ecdsa 74.6±0.05µs 74.6±0.27µs 0.00%
transaction_validation::verify_ed25519 54.9±0.11µs 55.1±0.10µs +0.36%

@talekhinezh talekhinezh merged commit ac10d96 into develop Sep 13, 2024
31 checks passed
Copy link
Contributor

@dhedey dhedey left a comment

Choose a reason for hiding this comment

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

A few important comments, and a few minor markups we can do when there's a moment.

iamyulong added a commit that referenced this pull request Nov 26, 2024
tweak: Markups for #1910, and some auth-zone neatenings
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.

4 participants