radixdlt-scrypto icon indicating copy to clipboard operation
radixdlt-scrypto copied to clipboard

Scrypto compiler default options for tests

Open mstrug-rdx opened this issue 9 months ago • 2 comments

Summary

Added CompilerProfile to LedgerSimulator.

Details

Adding new scrypto-compiler crate introduced divergence between default scrypto build command compilation options and compilation options used by LedgerSimulator and SDK in scrypto-test project. This PR provides option for the users of LedgerSimulator to choose if they want to use standard scrypto build compilation options or faster compilation options (WASM optimizations are disabled in that case). Also refactored PackageFactory to use same compiler object as LedgerSimulator.

Testing

Added new tests which verifies if blueprint compiled using scrypto build and LedgerSimulator with Standard compilation options are binary same. Also added other validation tests.

mstrug-rdx avatar May 10 '24 23:05 mstrug-rdx

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

github-actions[bot] avatar May 10 '24 23:05 github-actions[bot]

Benchmark for 3e28794

Click to view benchmark
Test Base PR %
costing::bench_prepare_wasm 65.6±0.49ms 65.6±0.15ms 0.00%
costing::decode_sbor 10.8±0.05µs 10.9±0.02µs +0.93%
costing::decode_sbor_bytes 29.1±0.02µs 29.3±0.07µs +0.69%
costing::deserialize_wasm 1280.1±4.01µs 1287.9±2.36µs +0.61%
costing::instantiate_flash_loan 3.9±0.62ms 3.9±0.66ms 0.00%
costing::instantiate_radiswap 5.6±0.05ms 5.8±0.06ms +3.57%
costing::spin_loop 22.0±0.04ms 21.7±0.06ms -1.36%
costing::validate_sbor_payload 30.0±0.17µs 30.1±0.04µs +0.33%
costing::validate_sbor_payload_bytes 259.1±1.23ns 273.3±1.09ns +5.48%
costing::validate_secp256k1 76.3±0.05µs 76.4±0.80µs +0.13%
costing::validate_wasm 36.6±0.05ms 37.3±0.06ms +1.91%
decimal::add/0 8.4±0.00ns 8.4±0.06ns 0.00%
decimal::add/rust-native 9.8±0.01ns 9.8±0.01ns 0.00%
decimal::add/wasmer 119.2±0.07ns 119.4±0.22ns +0.17%
decimal::add/wasmer-call-native 448.8±0.85ns 450.3±0.66ns +0.33%
decimal::add/wasmi 670.0±1.20ns 638.6±2.58ns -4.69%
decimal::add/wasmi-call-native 5.4±0.01µs 5.4±0.01µs 0.00%
decimal::div/0 190.1±0.12ns 188.9±0.12ns -0.63%
decimal::from_string/0 157.2±0.33ns 156.4±0.27ns -0.51%
decimal::mul/0 142.0±0.07ns 139.8±0.22ns -1.55%
decimal::mul/rust-native 137.6±0.06ns 136.8±0.14ns -0.58%
decimal::mul/wasmer 1503.3±0.97ns 1525.3±1.27ns +1.46%
decimal::mul/wasmer-call-native 582.9±0.51ns 579.3±2.86ns -0.62%
decimal::mul/wasmi 41.0±0.12µs 41.6±0.22µs +1.46%
decimal::mul/wasmi-call-native 5.6±0.02µs 5.6±0.01µs 0.00%
decimal::pow/0 651.9±0.65ns 656.0±0.59ns +0.63%
decimal::pow/rust-native 631.0±0.36ns 630.7±0.41ns -0.05%
decimal::pow/wasmer 6.6±0.00µs 6.6±0.01µs 0.00%
decimal::pow/wasmer-call-native 1023.3±0.79ns 1024.4±1.19ns +0.11%
decimal::pow/wasmi 194.2±0.26µs 195.0±0.59µs +0.41%
decimal::pow/wasmi-call-native 5.3±0.01µs 5.3±0.01µs 0.00%
decimal::root/0 7.9±0.01µs 8.1±0.01µs +2.53%
decimal::sub/0 8.5±0.01ns 8.5±0.01ns 0.00%
decimal::to_string/0 438.9±0.16ns 439.8±0.27ns +0.21%
precise_decimal::add/0 10.0±0.01ns 9.4±0.06ns -6.00%
precise_decimal::add/rust-native 11.4±0.00ns 11.4±0.00ns 0.00%
precise_decimal::add/wasmer 117.3±0.15ns 121.6±0.27ns +3.67%
precise_decimal::add/wasmer-call-native 501.6±0.55ns 510.8±2.13ns +1.83%
precise_decimal::add/wasmi 799.7±2.24ns 806.2±2.57ns +0.81%
precise_decimal::add/wasmi-call-native 7.0±0.02µs 7.0±0.02µs 0.00%
precise_decimal::div/0 301.2±0.33ns 303.2±0.34ns +0.66%
precise_decimal::from_string/0 195.0±0.09ns 193.0±0.33ns -1.03%
precise_decimal::mul/0 345.2±2.33ns 349.4±2.51ns +1.22%
precise_decimal::mul/rust-native 308.7±3.22ns 309.0±2.94ns +0.10%
precise_decimal::mul/wasmer 3.4±0.00µs 3.4±0.00µs 0.00%
precise_decimal::mul/wasmer-call-native 870.8±0.78ns 826.6±1.21ns -5.08%
precise_decimal::mul/wasmi 106.5±0.13µs 105.5±0.29µs -0.94%
precise_decimal::mul/wasmi-call-native 7.4±0.01µs 7.4±0.05µs 0.00%
precise_decimal::pow/0 1859.0±3.76ns 1858.3±3.15ns -0.04%
precise_decimal::pow/rust-native 1490.1±4.29ns 1487.8±3.64ns -0.15%
precise_decimal::pow/wasmer 16.1±0.01µs 16.1±0.01µs 0.00%
precise_decimal::pow/wasmer-call-native 2.2±0.00µs 2.1±0.00µs -4.55%
precise_decimal::pow/wasmi 516.6±1.62µs 509.5±1.37µs -1.37%
precise_decimal::pow/wasmi-call-native 13.1±0.03µs 13.2±0.03µs +0.76%
precise_decimal::root/0 57.4±0.17µs 56.9±0.02µs -0.87%
precise_decimal::sub/0 9.6±0.02ns 9.5±0.00ns -1.04%
precise_decimal::to_string/0 728.8±1.60ns 722.6±1.09ns -0.85%
schema::validate_payload 344.3±0.40µs 342.2±0.39µs -0.61%
transaction::radiswap 5.4±0.03ms 5.4±0.03ms 0.00%
transaction::transfer 1764.7±4.16µs 1771.5±9.34µs +0.39%
transaction_processing::prepare 2.2±0.00ms 2.2±0.00ms 0.00%
transaction_processing::prepare_and_decompile 6.1±0.02ms 6.2±0.01ms +1.64%
transaction_processing::prepare_and_decompile_and_recompile 24.2±0.12ms 28.1±3.12ms +16.12%
transaction_validation::validate_manifest 42.1±0.05µs 42.1±0.04µs 0.00%
transaction_validation::verify_bls_2KB 1013.1±65.85µs 1002.9±64.98µs -1.01%
transaction_validation::verify_bls_32B 967.1±12.96µs 961.7±7.82µs -0.56%
transaction_validation::verify_ecdsa 74.2±0.08µs 74.2±0.12µs 0.00%
transaction_validation::verify_ed25519 55.0±0.24µs 55.0±0.05µs 0.00%

github-actions[bot] avatar May 10 '24 23:05 github-actions[bot]