diff --git a/benches/PERFORMANCE.json b/benches/PERFORMANCE.json index 61ce2c9b1d..a4f60e483c 100644 --- a/benches/PERFORMANCE.json +++ b/benches/PERFORMANCE.json @@ -1200,19 +1200,20 @@ "big-values-data": { "comment": "Loading a trace with huge values", "memory_sizes": [ - "59.000 MiB", - "59.000 MiB" + "56.250 MiB", + "56.250 MiB" ], "stats": { "air::runner::execute_air": { "common_prefix": "air", - "duration": "19.20ms", + "duration": "5.02ms", "nested": { "preparation_step::preparation::parse_data": { - "common_prefix": "air_interpreter_data::interpreter_data::InterpreterData", - "duration": "7.01ms", + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "1.07ms", "nested": { - "try_from_slice": "6.96ms" + "serialize": "16.00µs", + "try_from_slice": "968.00µs" } }, "preparation_step::preparation::prepare": { @@ -1223,103 +1224,106 @@ "common_prefix": "air::preparation_step::preparation", "duration": "44.00µs", "nested": { - "CallResultsRepr.deserialize": "10.00µs" + "CallResultsRepr.deserialize": "11.00µs" } }, - "air_parser::parser::air_parser::parse": "19.00µs" + "air_parser::parser::air_parser::parse": "18.00µs" } }, "runner::execute": "9.00µs", "runner::farewell": { "common_prefix": "air::farewell_step::outcome", - "duration": "5.81ms", + "duration": "927.00µs", "nested": { "from_success_result": { "common_prefix": "air::farewell_step::outcome", - "duration": "5.78ms", + "duration": "906.00µs", "nested": { "populate_outcome_from_contexts": { - "common_prefix": "air::farewell_step::outcome", - "duration": "5.74ms", + "common_prefix": "", + "duration": "871.00µs", "nested": { - "CallRequestsRepr.serialize": "15.00µs", - "InterpreterData::serialize": "4.44ms" + "air::farewell_step::outcome::CallRequestsRepr.serialize": "14.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "200.00µs", + "air_interpreter_data::interpreter_data::serialize": "483.00µs" } } } } } }, - "signing_step::sign_produced_cids": "98.00µs", + "signing_step::sign_produced_cids": "102.00µs", "verification_step::verify": { "common_prefix": "air_interpreter_data::cid_info", - "duration": "5.99ms", + "duration": "2.61ms", "nested": { - "verify": "5.66ms" + "verify": "2.21ms" } } } } }, - "total_time": "19.20ms" + "total_time": "5.02ms" }, "call-requests500": { "comment": "multiple call requests", "memory_sizes": [ - "70.562 MiB", - "70.562 MiB" + "57.375 MiB", + "57.375 MiB" ], "stats": { "air::runner::execute_air": { "common_prefix": "air", - "duration": "53.00ms", + "duration": "24.40ms", "nested": { "preparation_step::preparation::parse_data": { - "common_prefix": "air_interpreter_data::interpreter_data::InterpreterData", - "duration": "105.00µs", + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "149.00µs", "nested": { - "try_from_slice": "66.00µs" + "serialize": "15.00µs", + "try_from_slice": "51.00µs" } }, "preparation_step::preparation::prepare": { "common_prefix": "", - "duration": "235.00µs", + "duration": "220.00µs", "nested": { "air::preparation_step::preparation::make_exec_ctx": { "common_prefix": "air::preparation_step::preparation", - "duration": "60.00µs", + "duration": "44.00µs", "nested": { - "CallResultsRepr.deserialize": "34.00µs" + "CallResultsRepr.deserialize": "14.00µs" } }, - "air_parser::parser::air_parser::parse": "48.00µs" + "air_parser::parser::air_parser::parse": "49.00µs" } }, - "runner::execute": "25.00ms", + "runner::execute": "22.20ms", "runner::farewell": { "common_prefix": "air::farewell_step::outcome", - "duration": "27.30ms", + "duration": "1.49ms", "nested": { "from_success_result": { "common_prefix": "air::farewell_step::outcome", - "duration": "27.30ms", + "duration": "1.46ms", "nested": { "populate_outcome_from_contexts": { - "common_prefix": "air::farewell_step::outcome", - "duration": "27.10ms", + "common_prefix": "", + "duration": "1.34ms", "nested": { - "CallRequestsRepr.serialize": "26.50ms", - "InterpreterData::serialize": "377.00µs" + "air::farewell_step::outcome::CallRequestsRepr.serialize": "1.07ms", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "23.00µs", + "air_interpreter_data::interpreter_data::serialize": "68.00µs" } } } } } }, - "signing_step::sign_produced_cids": "136.00µs", + "signing_step::sign_produced_cids": "103.00µs", "verification_step::verify": { "common_prefix": "air_interpreter_data::cid_info", - "duration": "64.00µs", + "duration": "96.00µs", "nested": { "verify": "10.00µs" } @@ -1327,865 +1331,1158 @@ } } }, - "total_time": "53.00ms" + "total_time": "24.40ms" }, - "call-results500": { - "comment": "multiple call results", + "call-result-100mb": { + "comment": "benchmarking", "memory_sizes": [ - "54.438 MiB", - "54.438 MiB" + "580.375 MiB", + "580.375 MiB" ], "stats": { "air::runner::execute_air": { "common_prefix": "air", - "duration": "21.20ms", + "duration": "530.00ms", "nested": { "preparation_step::preparation::parse_data": { - "common_prefix": "air_interpreter_data::interpreter_data::InterpreterData", - "duration": "587.00µs", + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "49.20ms", "nested": { - "try_from_slice": "546.00µs" + "serialize": "16.00µs", + "try_from_slice": "49.13ms" } }, "preparation_step::preparation::prepare": { "common_prefix": "", - "duration": "895.00µs", + "duration": "195.00µs", "nested": { "air::preparation_step::preparation::make_exec_ctx": { "common_prefix": "air::preparation_step::preparation", - "duration": "718.00µs", + "duration": "40.00µs", "nested": { - "CallResultsRepr.deserialize": "686.00µs" + "CallResultsRepr.deserialize": "10.00µs" } }, - "air_parser::parser::air_parser::parse": "50.00µs" + "air_parser::parser::air_parser::parse": "35.00µs" } }, - "runner::execute": "16.50ms", + "runner::execute": "205.00ms", "runner::farewell": { "common_prefix": "air::farewell_step::outcome", - "duration": "2.63ms", + "duration": "50.00ms", "nested": { "from_success_result": { "common_prefix": "air::farewell_step::outcome", - "duration": "2.60ms", + "duration": "50.00ms", "nested": { "populate_outcome_from_contexts": { - "common_prefix": "air::farewell_step::outcome", - "duration": "2.15ms", + "common_prefix": "", + "duration": "50.00ms", "nested": { - "CallRequestsRepr.serialize": "13.00µs", - "InterpreterData::serialize": "1.54ms" + "air::farewell_step::outcome::CallRequestsRepr.serialize": "16.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "14.40ms", + "air_interpreter_data::interpreter_data::serialize": "35.30ms" } } } } } }, - "signing_step::sign_produced_cids": "456.00µs", + "signing_step::sign_produced_cids": "109.00µs", "verification_step::verify": { "common_prefix": "air_interpreter_data::cid_info", - "duration": "67.00µs", + "duration": "225.00ms", "nested": { - "verify": "10.00µs" + "verify": "225.00ms" } } } } }, - "total_time": "21.20ms" + "total_time": "530.00ms" }, - "canon-map-key-by-lens": { - "comment": "benchmarking a map insert operation", + "call-results500": { + "comment": "multiple call results", "memory_sizes": [ - "56.625 MiB", - "56.625 MiB" + "54.438 MiB", + "54.438 MiB" ], "stats": { "air::runner::execute_air": { "common_prefix": "air", - "duration": "16.00ms", + "duration": "26.30ms", "nested": { "preparation_step::preparation::parse_data": { - "common_prefix": "air_interpreter_data::interpreter_data::InterpreterData", - "duration": "4.07ms", + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "232.00µs", "nested": { - "try_from_slice": "4.01ms" + "serialize": "14.00µs", + "try_from_slice": "127.00µs" } }, "preparation_step::preparation::prepare": { "common_prefix": "", - "duration": "549.00µs", + "duration": "421.00µs", "nested": { "air::preparation_step::preparation::make_exec_ctx": { "common_prefix": "air::preparation_step::preparation", - "duration": "365.00µs", + "duration": "229.00µs", "nested": { - "CallResultsRepr.deserialize": "10.00µs" + "CallResultsRepr.deserialize": "194.00µs" } }, - "air_parser::parser::air_parser::parse": "56.00µs" + "air_parser::parser::air_parser::parse": "50.00µs" } }, - "runner::execute": "2.84ms", + "runner::execute": "22.90ms", "runner::farewell": { "common_prefix": "air::farewell_step::outcome", - "duration": "3.49ms", + "duration": "1.92ms", "nested": { "from_success_result": { "common_prefix": "air::farewell_step::outcome", - "duration": "3.46ms", + "duration": "1.89ms", "nested": { "populate_outcome_from_contexts": { - "common_prefix": "air::farewell_step::outcome", - "duration": "3.00ms", + "common_prefix": "", + "duration": "1.42ms", "nested": { - "CallRequestsRepr.serialize": "15.00µs", - "InterpreterData::serialize": "2.55ms" + "air::farewell_step::outcome::CallRequestsRepr.serialize": "14.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "120.00µs", + "air_interpreter_data::interpreter_data::serialize": "652.00µs" } } } } } }, - "signing_step::sign_produced_cids": "102.00µs", + "signing_step::sign_produced_cids": "548.00µs", "verification_step::verify": { "common_prefix": "air_interpreter_data::cid_info", - "duration": "4.84ms", + "duration": "122.00µs", "nested": { - "verify": "4.51ms" + "verify": "13.00µs" } } } } }, - "total_time": "16.00ms" + "total_time": "26.30ms" }, - "canon-map-key-element-by-lens": { - "comment": "benchmarking a map insert operation", + "canon-map-100mb": { + "comment": "benchmarking", "memory_sizes": [ - "56.625 MiB", - "56.625 MiB" + "1.305 GiB", + "1.305 GiB" ], "stats": { "air::runner::execute_air": { "common_prefix": "air", - "duration": "17.10ms", + "duration": "1.11s", "nested": { "preparation_step::preparation::parse_data": { - "common_prefix": "air_interpreter_data::interpreter_data::InterpreterData", - "duration": "4.03ms", + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "49.60ms", "nested": { - "try_from_slice": "3.99ms" + "serialize": "16.00µs", + "try_from_slice": "49.43ms" } }, "preparation_step::preparation::prepare": { "common_prefix": "", - "duration": "868.00µs", + "duration": "209.00µs", "nested": { "air::preparation_step::preparation::make_exec_ctx": { "common_prefix": "air::preparation_step::preparation", - "duration": "614.00µs", + "duration": "39.00µs", "nested": { - "CallResultsRepr.deserialize": "18.00µs" + "CallResultsRepr.deserialize": "11.00µs" } }, - "air_parser::parser::air_parser::parse": "90.00µs" + "air_parser::parser::air_parser::parse": "46.00µs" } }, - "runner::execute": "3.21ms", + "runner::execute": "706.00ms", "runner::farewell": { "common_prefix": "air::farewell_step::outcome", - "duration": "3.22ms", + "duration": "127.00ms", "nested": { "from_success_result": { "common_prefix": "air::farewell_step::outcome", - "duration": "3.19ms", + "duration": "127.00ms", "nested": { "populate_outcome_from_contexts": { - "common_prefix": "air::farewell_step::outcome", - "duration": "2.79ms", + "common_prefix": "", + "duration": "127.00ms", "nested": { - "CallRequestsRepr.serialize": "14.00µs", - "InterpreterData::serialize": "2.42ms" + "air::farewell_step::outcome::CallRequestsRepr.serialize": "15.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "37.40ms", + "air_interpreter_data::interpreter_data::serialize": "89.00ms" } } } } } }, - "signing_step::sign_produced_cids": "108.00µs", + "signing_step::sign_produced_cids": "112.00µs", "verification_step::verify": { "common_prefix": "air_interpreter_data::cid_info", - "duration": "5.46ms", + "duration": "224.00ms", "nested": { - "verify": "4.90ms" + "verify": "224.00ms" } } } } }, - "total_time": "17.10ms" + "total_time": "1.11s" }, - "canon-map-multiple-keys": { + "canon-map-key-by-lens": { "comment": "benchmarking a map insert operation", "memory_sizes": [ - "54.500 MiB", - "54.500 MiB" + "55.312 MiB", + "55.312 MiB" ], "stats": { "air::runner::execute_air": { "common_prefix": "air", - "duration": "13.20ms", + "duration": "12.80ms", "nested": { "preparation_step::preparation::parse_data": { - "common_prefix": "air_interpreter_data::interpreter_data::InterpreterData", - "duration": "326.00µs", + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "2.46ms", "nested": { - "try_from_slice": "286.00µs" + "serialize": "15.00µs", + "try_from_slice": "2.35ms" } }, "preparation_step::preparation::prepare": { "common_prefix": "", - "duration": "212.00µs", + "duration": "533.00µs", "nested": { "air::preparation_step::preparation::make_exec_ctx": { "common_prefix": "air::preparation_step::preparation", - "duration": "38.00µs", + "duration": "351.00µs", "nested": { - "CallResultsRepr.deserialize": "10.00µs" + "CallResultsRepr.deserialize": "11.00µs" } }, - "air_parser::parser::air_parser::parse": "47.00µs" + "air_parser::parser::air_parser::parse": "55.00µs" } }, - "runner::execute": "9.08ms", + "runner::execute": "3.13ms", "runner::farewell": { "common_prefix": "air::farewell_step::outcome", - "duration": "3.05ms", + "duration": "1.78ms", "nested": { "from_success_result": { "common_prefix": "air::farewell_step::outcome", - "duration": "3.03ms", + "duration": "1.75ms", "nested": { "populate_outcome_from_contexts": { - "common_prefix": "air::farewell_step::outcome", - "duration": "2.69ms", + "common_prefix": "", + "duration": "1.42ms", "nested": { - "CallRequestsRepr.serialize": "15.00µs", - "InterpreterData::serialize": "2.33ms" + "air::farewell_step::outcome::CallRequestsRepr.serialize": "14.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "120.00µs", + "air_interpreter_data::interpreter_data::serialize": "895.00µs" } } } } } }, - "signing_step::sign_produced_cids": "108.00µs", + "signing_step::sign_produced_cids": "101.00µs", "verification_step::verify": { "common_prefix": "air_interpreter_data::cid_info", - "duration": "337.00µs", + "duration": "4.63ms", "nested": { - "verify": "25.00µs" + "verify": "4.26ms" } } } } }, - "total_time": "13.20ms" + "total_time": "12.80ms" }, - "canon-map-scalar-multiple-keys": { + "canon-map-key-element-by-lens": { "comment": "benchmarking a map insert operation", "memory_sizes": [ - "53.125 MiB", - "53.125 MiB" + "55.312 MiB", + "55.312 MiB" ], "stats": { "air::runner::execute_air": { "common_prefix": "air", - "duration": "4.91ms", + "duration": "13.10ms", "nested": { "preparation_step::preparation::parse_data": { - "common_prefix": "air_interpreter_data::interpreter_data::InterpreterData", - "duration": "325.00µs", + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "2.49ms", "nested": { - "try_from_slice": "285.00µs" + "serialize": "16.00µs", + "try_from_slice": "2.39ms" } }, "preparation_step::preparation::prepare": { "common_prefix": "", - "duration": "205.00µs", + "duration": "541.00µs", "nested": { "air::preparation_step::preparation::make_exec_ctx": { "common_prefix": "air::preparation_step::preparation", - "duration": "37.00µs", + "duration": "357.00µs", "nested": { - "CallResultsRepr.deserialize": "10.00µs" + "CallResultsRepr.deserialize": "11.00µs" } }, - "air_parser::parser::air_parser::parse": "44.00µs" + "air_parser::parser::air_parser::parse": "54.00µs" } }, - "runner::execute": "3.32ms", + "runner::execute": "3.35ms", "runner::farewell": { "common_prefix": "air::farewell_step::outcome", - "duration": "495.00µs", + "duration": "1.79ms", "nested": { "from_success_result": { "common_prefix": "air::farewell_step::outcome", - "duration": "473.00µs", + "duration": "1.77ms", "nested": { "populate_outcome_from_contexts": { - "common_prefix": "air::farewell_step::outcome", - "duration": "435.00µs", + "common_prefix": "", + "duration": "1.43ms", "nested": { - "CallRequestsRepr.serialize": "13.00µs", - "InterpreterData::serialize": "171.00µs" + "air::farewell_step::outcome::CallRequestsRepr.serialize": "14.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "121.00µs", + "air_interpreter_data::interpreter_data::serialize": "891.00µs" } } } } } }, - "signing_step::sign_produced_cids": "101.00µs", + "signing_step::sign_produced_cids": "103.00µs", "verification_step::verify": { "common_prefix": "air_interpreter_data::cid_info", - "duration": "338.00µs", + "duration": "4.69ms", "nested": { - "verify": "25.00µs" + "verify": "4.33ms" } } } } }, - "total_time": "4.91ms" + "total_time": "13.10ms" }, - "canon-map-scalar-single-key": { + "canon-map-multiple-keys": { "comment": "benchmarking a map insert operation", "memory_sizes": [ - "53.000 MiB", - "53.000 MiB" + "54.562 MiB", + "54.562 MiB" ], "stats": { "air::runner::execute_air": { "common_prefix": "air", - "duration": "4.26ms", + "duration": "13.00ms", "nested": { "preparation_step::preparation::parse_data": { - "common_prefix": "air_interpreter_data::interpreter_data::InterpreterData", - "duration": "378.00µs", + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "227.00µs", "nested": { - "try_from_slice": "328.00µs" + "serialize": "18.00µs", + "try_from_slice": "117.00µs" } }, "preparation_step::preparation::prepare": { "common_prefix": "", - "duration": "205.00µs", + "duration": "225.00µs", "nested": { "air::preparation_step::preparation::make_exec_ctx": { "common_prefix": "air::preparation_step::preparation", - "duration": "37.00µs", + "duration": "42.00µs", "nested": { - "CallResultsRepr.deserialize": "10.00µs" + "CallResultsRepr.deserialize": "12.00µs" } }, - "air_parser::parser::air_parser::parse": "43.00µs" + "air_parser::parser::air_parser::parse": "50.00µs" } }, - "runner::execute": "2.49ms", + "runner::execute": "10.10ms", "runner::farewell": { "common_prefix": "air::farewell_step::outcome", - "duration": "493.00µs", + "duration": "1.78ms", "nested": { "from_success_result": { "common_prefix": "air::farewell_step::outcome", - "duration": "471.00µs", + "duration": "1.75ms", "nested": { "populate_outcome_from_contexts": { - "common_prefix": "air::farewell_step::outcome", - "duration": "418.00µs", + "common_prefix": "", + "duration": "1.39ms", "nested": { - "CallRequestsRepr.serialize": "12.00µs", - "InterpreterData::serialize": "179.00µs" + "air::farewell_step::outcome::CallRequestsRepr.serialize": "15.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "96.00µs", + "air_interpreter_data::interpreter_data::serialize": "893.00µs" } } } } } }, - "signing_step::sign_produced_cids": "103.00µs", + "signing_step::sign_produced_cids": "112.00µs", "verification_step::verify": { "common_prefix": "air_interpreter_data::cid_info", - "duration": "452.00µs", + "duration": "424.00µs", "nested": { - "verify": "82.00µs" + "verify": "27.00µs" } } } } }, - "total_time": "4.26ms" + "total_time": "13.00ms" }, - "canon-map-single-key": { + "canon-map-scalar-multiple-keys": { "comment": "benchmarking a map insert operation", "memory_sizes": [ - "55.312 MiB", - "55.312 MiB" + "53.125 MiB", + "53.125 MiB" ], "stats": { "air::runner::execute_air": { "common_prefix": "air", - "duration": "11.60ms", + "duration": "4.92ms", "nested": { "preparation_step::preparation::parse_data": { - "common_prefix": "air_interpreter_data::interpreter_data::InterpreterData", - "duration": "395.00µs", + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "210.00µs", "nested": { - "try_from_slice": "356.00µs" + "serialize": "16.00µs", + "try_from_slice": "110.00µs" } }, "preparation_step::preparation::prepare": { "common_prefix": "", - "duration": "205.00µs", + "duration": "214.00µs", "nested": { "air::preparation_step::preparation::make_exec_ctx": { "common_prefix": "air::preparation_step::preparation", "duration": "42.00µs", "nested": { - "CallResultsRepr.deserialize": "10.00µs" + "CallResultsRepr.deserialize": "11.00µs" } }, - "air_parser::parser::air_parser::parse": "41.00µs" + "air_parser::parser::air_parser::parse": "46.00µs" } }, - "runner::execute": "7.10ms", + "runner::execute": "3.44ms", "runner::farewell": { "common_prefix": "air::farewell_step::outcome", - "duration": "3.24ms", + "duration": "432.00µs", "nested": { "from_success_result": { "common_prefix": "air::farewell_step::outcome", - "duration": "3.22ms", + "duration": "408.00µs", "nested": { "populate_outcome_from_contexts": { - "common_prefix": "air::farewell_step::outcome", - "duration": "2.92ms", + "common_prefix": "", + "duration": "367.00µs", "nested": { - "CallRequestsRepr.serialize": "14.00µs", - "InterpreterData::serialize": "2.59ms" + "air::farewell_step::outcome::CallRequestsRepr.serialize": "14.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "21.00µs", + "air_interpreter_data::interpreter_data::serialize": "55.00µs" } } } } } }, - "signing_step::sign_produced_cids": "114.00µs", + "signing_step::sign_produced_cids": "104.00µs", "verification_step::verify": { "common_prefix": "air_interpreter_data::cid_info", - "duration": "383.00µs", + "duration": "391.00µs", "nested": { - "verify": "67.00µs" + "verify": "27.00µs" } } } } }, - "total_time": "11.60ms" + "total_time": "4.92ms" }, - "dashboard": { - "comment": "big dashboard test", + "canon-map-scalar-single-key": { + "comment": "benchmarking a map insert operation", "memory_sizes": [ - "52.625 MiB", - "52.625 MiB" + "53.062 MiB", + "53.062 MiB" ], "stats": { "air::runner::execute_air": { "common_prefix": "air", - "duration": "6.67ms", + "duration": "3.86ms", "nested": { "preparation_step::preparation::parse_data": { - "common_prefix": "air_interpreter_data::interpreter_data::InterpreterData", - "duration": "1.05ms", + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "202.00µs", "nested": { - "try_from_slice": "986.00µs" + "serialize": "16.00µs", + "try_from_slice": "101.00µs" } }, "preparation_step::preparation::prepare": { "common_prefix": "", - "duration": "336.00µs", + "duration": "206.00µs", "nested": { "air::preparation_step::preparation::make_exec_ctx": { "common_prefix": "air::preparation_step::preparation", - "duration": "63.00µs", + "duration": "39.00µs", "nested": { - "CallResultsRepr.deserialize": "10.00µs" + "CallResultsRepr.deserialize": "11.00µs" } }, - "air_parser::parser::air_parser::parse": "138.00µs" + "air_parser::parser::air_parser::parse": "42.00µs" } }, - "runner::execute": "1.41ms", + "runner::execute": "2.39ms", "runner::farewell": { "common_prefix": "air::farewell_step::outcome", - "duration": "805.00µs", + "duration": "426.00µs", "nested": { "from_success_result": { "common_prefix": "air::farewell_step::outcome", - "duration": "784.00µs", + "duration": "404.00µs", "nested": { "populate_outcome_from_contexts": { - "common_prefix": "air::farewell_step::outcome", - "duration": "736.00µs", + "common_prefix": "", + "duration": "352.00µs", "nested": { - "CallRequestsRepr.serialize": "28.00µs", - "InterpreterData::serialize": "496.00µs" + "air::farewell_step::outcome::CallRequestsRepr.serialize": "14.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "21.00µs", + "air_interpreter_data::interpreter_data::serialize": "66.00µs" } } } } } }, - "signing_step::sign_produced_cids": "108.00µs", + "signing_step::sign_produced_cids": "102.00µs", "verification_step::verify": { "common_prefix": "air_interpreter_data::cid_info", - "duration": "2.82ms", + "duration": "402.00µs", "nested": { - "verify": "213.00µs" + "verify": "40.00µs" } } } } }, - "total_time": "6.67ms" + "total_time": "3.86ms" }, - "long-data": { - "comment": "Long data trace", + "canon-map-single-key": { + "comment": "benchmarking a map insert operation", "memory_sizes": [ - "53.812 MiB", - "53.812 MiB" + "54.438 MiB", + "54.438 MiB" ], "stats": { "air::runner::execute_air": { "common_prefix": "air", - "duration": "6.39ms", + "duration": "10.30ms", "nested": { "preparation_step::preparation::parse_data": { - "common_prefix": "air_interpreter_data::interpreter_data::InterpreterData", - "duration": "2.40ms", + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "192.00µs", "nested": { - "try_from_slice": "2.36ms" + "serialize": "16.00µs", + "try_from_slice": "96.00µs" } }, "preparation_step::preparation::prepare": { "common_prefix": "", - "duration": "203.00µs", + "duration": "199.00µs", "nested": { "air::preparation_step::preparation::make_exec_ctx": { "common_prefix": "air::preparation_step::preparation", - "duration": "65.00µs", + "duration": "39.00µs", "nested": { - "CallResultsRepr.deserialize": "10.00µs" + "CallResultsRepr.deserialize": "11.00µs" } }, - "air_parser::parser::air_parser::parse": "17.00µs" + "air_parser::parser::air_parser::parse": "40.00µs" } }, - "runner::execute": "9.00µs", + "runner::execute": "7.57ms", "runner::farewell": { "common_prefix": "air::farewell_step::outcome", - "duration": "1.16ms", + "duration": "1.66ms", "nested": { "from_success_result": { "common_prefix": "air::farewell_step::outcome", - "duration": "1.13ms", + "duration": "1.64ms", "nested": { "populate_outcome_from_contexts": { - "common_prefix": "air::farewell_step::outcome", - "duration": "1.10ms", + "common_prefix": "", + "duration": "1.35ms", "nested": { - "CallRequestsRepr.serialize": "14.00µs", - "InterpreterData::serialize": "589.00µs" + "air::farewell_step::outcome::CallRequestsRepr.serialize": "14.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "107.00µs", + "air_interpreter_data::interpreter_data::serialize": "903.00µs" } } } } } }, - "signing_step::sign_produced_cids": "100.00µs", + "signing_step::sign_produced_cids": "102.00µs", "verification_step::verify": { "common_prefix": "air_interpreter_data::cid_info", - "duration": "2.39ms", + "duration": "399.00µs", "nested": { - "verify": "943.00µs" + "verify": "40.00µs" } } } } }, - "total_time": "6.39ms" + "total_time": "10.30ms" }, - "multiple-cids10": { - "comment": "verifying multiple CIDs for single peer", + "dashboard": { + "comment": "big dashboard test", "memory_sizes": [ - "52.438 MiB", - "52.438 MiB" + "52.688 MiB", + "52.688 MiB" ], "stats": { "air::runner::execute_air": { "common_prefix": "air", - "duration": "3.07ms", + "duration": "6.15ms", "nested": { "preparation_step::preparation::parse_data": { - "common_prefix": "air_interpreter_data::interpreter_data::InterpreterData", - "duration": "420.00µs", + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "519.00µs", "nested": { - "try_from_slice": "364.00µs" + "try_from_slice": "435.00µs" } }, "preparation_step::preparation::prepare": { "common_prefix": "", - "duration": "221.00µs", + "duration": "330.00µs", "nested": { "air::preparation_step::preparation::make_exec_ctx": { "common_prefix": "air::preparation_step::preparation", - "duration": "55.00µs", + "duration": "64.00µs", "nested": { "CallResultsRepr.deserialize": "11.00µs" } }, - "air_parser::parser::air_parser::parse": "43.00µs" + "air_parser::parser::air_parser::parse": "134.00µs" } }, - "runner::execute": "574.00µs", + "runner::execute": "1.17ms", "runner::farewell": { "common_prefix": "air::farewell_step::outcome", - "duration": "622.00µs", + "duration": "488.00µs", "nested": { "from_success_result": { "common_prefix": "air::farewell_step::outcome", - "duration": "600.00µs", + "duration": "465.00µs", "nested": { "populate_outcome_from_contexts": { - "common_prefix": "air::farewell_step::outcome", - "duration": "544.00µs", + "common_prefix": "", + "duration": "418.00µs", "nested": { - "CallRequestsRepr.serialize": "15.00µs", - "InterpreterData::serialize": "329.00µs" + "air::farewell_step::outcome::CallRequestsRepr.serialize": "23.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "40.00µs", + "air_interpreter_data::interpreter_data::serialize": "119.00µs" } } } } } }, - "signing_step::sign_produced_cids": "102.00µs", + "signing_step::sign_produced_cids": "107.00µs", "verification_step::verify": { "common_prefix": "air_interpreter_data::cid_info", - "duration": "1.01ms", + "duration": "3.40ms", "nested": { - "verify": "253.00µs" + "verify": "204.00µs" } } } } }, - "total_time": "3.07ms" + "total_time": "6.15ms" }, - "multiple-peers8": { - "comment": "verifying many CIDs for many peers", + "lense-100mb": { + "comment": "benchmarking", "memory_sizes": [ - "53.375 MiB", - "53.375 MiB" + "1.207 GiB", + "1.207 GiB" ], "stats": { "air::runner::execute_air": { "common_prefix": "air", - "duration": "12.00ms", + "duration": "1.09s", "nested": { "preparation_step::preparation::parse_data": { - "common_prefix": "air_interpreter_data::interpreter_data::InterpreterData", - "duration": "1.60ms", + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "49.00ms", "nested": { - "try_from_slice": "1.53ms" + "serialize": "16.00µs", + "try_from_slice": "48.93ms" } }, "preparation_step::preparation::prepare": { "common_prefix": "", - "duration": "330.00µs", + "duration": "220.00µs", "nested": { "air::preparation_step::preparation::make_exec_ctx": { "common_prefix": "air::preparation_step::preparation", - "duration": "152.00µs", + "duration": "44.00µs", "nested": { - "CallResultsRepr.deserialize": "10.00µs" + "CallResultsRepr.deserialize": "12.00µs" } }, - "air_parser::parser::air_parser::parse": "50.00µs" + "air_parser::parser::air_parser::parse": "48.00µs" } }, - "runner::execute": "3.96ms", + "runner::execute": "686.00ms", "runner::farewell": { "common_prefix": "air::farewell_step::outcome", - "duration": "1.57ms", + "duration": "125.00ms", "nested": { "from_success_result": { "common_prefix": "air::farewell_step::outcome", - "duration": "1.55ms", + "duration": "125.00ms", "nested": { "populate_outcome_from_contexts": { - "common_prefix": "air::farewell_step::outcome", - "duration": "1.43ms", + "common_prefix": "", + "duration": "125.00ms", "nested": { - "CallRequestsRepr.serialize": "14.00µs", - "InterpreterData::serialize": "1.16ms" + "air::farewell_step::outcome::CallRequestsRepr.serialize": "15.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "37.10ms", + "air_interpreter_data::interpreter_data::serialize": "88.10ms" } } } } } }, - "signing_step::sign_produced_cids": "104.00µs", + "signing_step::sign_produced_cids": "111.00µs", "verification_step::verify": { "common_prefix": "air_interpreter_data::cid_info", - "duration": "4.30ms", + "duration": "226.00ms", "nested": { - "verify": "1.18ms" + "verify": "225.00ms" } } } } }, - "total_time": "12.00ms" + "total_time": "1.09s" }, - "multiple-sigs30": { - "comment": "signing multiple CIDs", + "long-data": { + "comment": "Long data trace", "memory_sizes": [ - "56.188 MiB", - "56.188 MiB" + "53.125 MiB", + "53.125 MiB" ], "stats": { "air::runner::execute_air": { "common_prefix": "air", - "duration": "26.20ms", + "duration": "3.73ms", "nested": { "preparation_step::preparation::parse_data": { - "common_prefix": "air_interpreter_data::interpreter_data::InterpreterData", - "duration": "4.93ms", + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "969.00µs", "nested": { - "try_from_slice": "4.88ms" + "serialize": "15.00µs", + "try_from_slice": "865.00µs" } }, "preparation_step::preparation::prepare": { "common_prefix": "", - "duration": "438.00µs", + "duration": "205.00µs", "nested": { "air::preparation_step::preparation::make_exec_ctx": { "common_prefix": "air::preparation_step::preparation", - "duration": "261.00µs", + "duration": "66.00µs", "nested": { "CallResultsRepr.deserialize": "10.00µs" } }, - "air_parser::parser::air_parser::parse": "49.00µs" + "air_parser::parser::air_parser::parse": "17.00µs" } }, - "runner::execute": "11.10ms", + "runner::execute": "9.00µs", "runner::farewell": { "common_prefix": "air::farewell_step::outcome", - "duration": "4.39ms", + "duration": "416.00µs", "nested": { "from_success_result": { "common_prefix": "air::farewell_step::outcome", - "duration": "4.37ms", + "duration": "395.00µs", "nested": { "populate_outcome_from_contexts": { - "common_prefix": "air::farewell_step::outcome", - "duration": "4.17ms", + "common_prefix": "", + "duration": "360.00µs", "nested": { - "CallRequestsRepr.serialize": "14.00µs", - "InterpreterData::serialize": "3.04ms" + "air::farewell_step::outcome::CallRequestsRepr.serialize": "14.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "27.00µs", + "air_interpreter_data::interpreter_data::serialize": "97.00µs" } } } } } }, - "signing_step::sign_produced_cids": "742.00µs", + "signing_step::sign_produced_cids": "98.00µs", "verification_step::verify": { "common_prefix": "air_interpreter_data::cid_info", - "duration": "4.36ms", + "duration": "1.92ms", "nested": { - "verify": "2.03ms" + "verify": "490.00µs" } } } } }, - "total_time": "26.20ms" + "total_time": "3.73ms" }, - "network-explore": { - "comment": "5 peers of network are discovered", + "map-100mb": { + "comment": "benchmarking", "memory_sizes": [ - "52.375 MiB", - "52.375 MiB" + "1.305 GiB", + "1.305 GiB" ], "stats": { "air::runner::execute_air": { "common_prefix": "air", - "duration": "3.35ms", + "duration": "1.12s", "nested": { "preparation_step::preparation::parse_data": { - "common_prefix": "air_interpreter_data::interpreter_data::InterpreterData", - "duration": "596.00µs", + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "50.40ms", "nested": { - "try_from_slice": "509.00µs" + "serialize": "16.00µs", + "try_from_slice": "50.23ms" } }, "preparation_step::preparation::prepare": { "common_prefix": "", - "duration": "249.00µs", + "duration": "209.00µs", "nested": { "air::preparation_step::preparation::make_exec_ctx": { "common_prefix": "air::preparation_step::preparation", - "duration": "46.00µs", + "duration": "38.00µs", "nested": { "CallResultsRepr.deserialize": "10.00µs" } }, - "air_parser::parser::air_parser::parse": "74.00µs" + "air_parser::parser::air_parser::parse": "44.00µs" } }, - "runner::execute": "168.00µs", + "runner::execute": "712.00ms", "runner::farewell": { "common_prefix": "air::farewell_step::outcome", - "duration": "441.00µs", + "duration": "130.00ms", "nested": { "from_success_result": { "common_prefix": "air::farewell_step::outcome", - "duration": "418.00µs", + "duration": "130.00ms", "nested": { "populate_outcome_from_contexts": { - "common_prefix": "air::farewell_step::outcome", - "duration": "376.00µs", + "common_prefix": "", + "duration": "130.00ms", "nested": { - "CallRequestsRepr.serialize": "14.00µs", - "InterpreterData::serialize": "199.00µs" + "air::farewell_step::outcome::CallRequestsRepr.serialize": "16.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "38.30ms", + "air_interpreter_data::interpreter_data::serialize": "91.70ms" } } } } } }, - "signing_step::sign_produced_cids": "105.00µs", + "signing_step::sign_produced_cids": "111.00µs", "verification_step::verify": { "common_prefix": "air_interpreter_data::cid_info", - "duration": "1.64ms", + "duration": "224.00ms", + "nested": { + "verify": "224.00ms" + } + } + } + } + }, + "total_time": "1.12s" + }, + "multiple-cids10": { + "comment": "verifying multiple CIDs for single peer", + "memory_sizes": [ + "52.500 MiB", + "52.500 MiB" + ], + "stats": { + "air::runner::execute_air": { + "common_prefix": "air", + "duration": "2.89ms", + "nested": { + "preparation_step::preparation::parse_data": { + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "325.00µs", + "nested": { + "try_from_slice": "243.00µs" + } + }, + "preparation_step::preparation::prepare": { + "common_prefix": "", + "duration": "226.00µs", + "nested": { + "air::preparation_step::preparation::make_exec_ctx": { + "common_prefix": "air::preparation_step::preparation", + "duration": "56.00µs", + "nested": { + "CallResultsRepr.deserialize": "11.00µs" + } + }, + "air_parser::parser::air_parser::parse": "44.00µs" + } + }, + "runner::execute": "561.00µs", + "runner::farewell": { + "common_prefix": "air::farewell_step::outcome", + "duration": "451.00µs", "nested": { - "verify": "99.00µs" + "from_success_result": { + "common_prefix": "air::farewell_step::outcome", + "duration": "425.00µs", + "nested": { + "populate_outcome_from_contexts": { + "common_prefix": "", + "duration": "354.00µs", + "nested": { + "air::farewell_step::outcome::CallRequestsRepr.serialize": "17.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "32.00µs", + "air_interpreter_data::interpreter_data::serialize": "103.00µs" + } + } + } + } + } + }, + "signing_step::sign_produced_cids": "103.00µs", + "verification_step::verify": { + "common_prefix": "air_interpreter_data::cid_info", + "duration": "1.09ms", + "nested": { + "verify": "262.00µs" } } } } }, - "total_time": "3.35ms" + "total_time": "2.89ms" + }, + "multiple-peers8": { + "comment": "verifying many CIDs for many peers", + "memory_sizes": [ + "53.438 MiB", + "53.438 MiB" + ], + "stats": { + "air::runner::execute_air": { + "common_prefix": "air", + "duration": "11.10ms", + "nested": { + "preparation_step::preparation::parse_data": { + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "1.12ms", + "nested": { + "try_from_slice": "1.04ms" + } + }, + "preparation_step::preparation::prepare": { + "common_prefix": "", + "duration": "302.00µs", + "nested": { + "air::preparation_step::preparation::make_exec_ctx": { + "common_prefix": "air::preparation_step::preparation", + "duration": "126.00µs", + "nested": { + "CallResultsRepr.deserialize": "10.00µs" + } + }, + "air_parser::parser::air_parser::parse": "51.00µs" + } + }, + "runner::execute": "3.76ms", + "runner::farewell": { + "common_prefix": "air::farewell_step::outcome", + "duration": "924.00µs", + "nested": { + "from_success_result": { + "common_prefix": "air::farewell_step::outcome", + "duration": "900.00µs", + "nested": { + "populate_outcome_from_contexts": { + "common_prefix": "", + "duration": "777.00µs", + "nested": { + "air::farewell_step::outcome::CallRequestsRepr.serialize": "15.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "60.00µs", + "air_interpreter_data::interpreter_data::serialize": "428.00µs" + } + } + } + } + } + }, + "signing_step::sign_produced_cids": "101.00µs", + "verification_step::verify": { + "common_prefix": "air_interpreter_data::cid_info", + "duration": "4.79ms", + "nested": { + "verify": "1.24ms" + } + } + } + } + }, + "total_time": "11.10ms" + }, + "multiple-sigs30": { + "comment": "signing multiple CIDs", + "memory_sizes": [ + "55.812 MiB", + "55.812 MiB" + ], + "stats": { + "air::runner::execute_air": { + "common_prefix": "air", + "duration": "23.10ms", + "nested": { + "preparation_step::preparation::parse_data": { + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "3.67ms", + "nested": { + "try_from_slice": "3.58ms" + } + }, + "preparation_step::preparation::prepare": { + "common_prefix": "", + "duration": "445.00µs", + "nested": { + "air::preparation_step::preparation::make_exec_ctx": { + "common_prefix": "air::preparation_step::preparation", + "duration": "272.00µs", + "nested": { + "CallResultsRepr.deserialize": "11.00µs" + } + }, + "air_parser::parser::air_parser::parse": "47.00µs" + } + }, + "runner::execute": "10.80ms", + "runner::farewell": { + "common_prefix": "air::farewell_step::outcome", + "duration": "2.78ms", + "nested": { + "from_success_result": { + "common_prefix": "air::farewell_step::outcome", + "duration": "2.75ms", + "nested": { + "populate_outcome_from_contexts": { + "common_prefix": "", + "duration": "2.59ms", + "nested": { + "air::farewell_step::outcome::CallRequestsRepr.serialize": "13.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "208.00µs", + "air_interpreter_data::interpreter_data::serialize": "1.28ms" + } + } + } + } + } + }, + "signing_step::sign_produced_cids": "675.00µs", + "verification_step::verify": { + "common_prefix": "air_interpreter_data::cid_info", + "duration": "4.51ms", + "nested": { + "verify": "2.11ms" + } + } + } + } + }, + "total_time": "23.10ms" + }, + "network-explore": { + "comment": "5 peers of network are discovered", + "memory_sizes": [ + "52.375 MiB", + "52.375 MiB" + ], + "stats": { + "air::runner::execute_air": { + "common_prefix": "air", + "duration": "3.09ms", + "nested": { + "preparation_step::preparation::parse_data": { + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "219.00µs", + "nested": { + "try_from_slice": "137.00µs" + } + }, + "preparation_step::preparation::prepare": { + "common_prefix": "", + "duration": "238.00µs", + "nested": { + "air::preparation_step::preparation::make_exec_ctx": { + "common_prefix": "air::preparation_step::preparation", + "duration": "47.00µs", + "nested": { + "CallResultsRepr.deserialize": "11.00µs" + } + }, + "air_parser::parser::air_parser::parse": "68.00µs" + } + }, + "runner::execute": "173.00µs", + "runner::farewell": { + "common_prefix": "air::farewell_step::outcome", + "duration": "310.00µs", + "nested": { + "from_success_result": { + "common_prefix": "air::farewell_step::outcome", + "duration": "287.00µs", + "nested": { + "populate_outcome_from_contexts": { + "common_prefix": "", + "duration": "245.00µs", + "nested": { + "air::farewell_step::outcome::CallRequestsRepr.serialize": "14.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "18.00µs", + "air_interpreter_data::interpreter_data::serialize": "38.00µs" + } + } + } + } + } + }, + "signing_step::sign_produced_cids": "102.00µs", + "verification_step::verify": { + "common_prefix": "air_interpreter_data::cid_info", + "duration": "1.93ms", + "nested": { + "verify": "63.00µs" + } + } + } + } + }, + "total_time": "3.09ms" }, "null": { "comment": "Empty data and null script", @@ -2196,56 +2493,64 @@ "stats": { "air::runner::execute_air": { "common_prefix": "air", - "duration": "712.00µs", + "duration": "988.00µs", "nested": { - "preparation_step::preparation::parse_data": "16.00µs", + "preparation_step::preparation::parse_data": { + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "176.00µs", + "nested": { + "serialize": "33.00µs", + "try_from_slice": "38.00µs" + } + }, "preparation_step::preparation::prepare": { "common_prefix": "", - "duration": "183.00µs", + "duration": "207.00µs", "nested": { "air::preparation_step::preparation::make_exec_ctx": { "common_prefix": "air::preparation_step::preparation", - "duration": "35.00µs", + "duration": "47.00µs", "nested": { - "CallResultsRepr.deserialize": "10.00µs" + "CallResultsRepr.deserialize": "14.00µs" } }, - "air_parser::parser::air_parser::parse": "17.00µs" + "air_parser::parser::air_parser::parse": "22.00µs" } }, - "runner::execute": "9.00µs", + "runner::execute": "12.00µs", "runner::farewell": { "common_prefix": "air::farewell_step::outcome", - "duration": "257.00µs", + "duration": "306.00µs", "nested": { "from_success_result": { "common_prefix": "air::farewell_step::outcome", - "duration": "237.00µs", + "duration": "277.00µs", "nested": { "populate_outcome_from_contexts": { - "common_prefix": "air::farewell_step::outcome", - "duration": "204.00µs", + "common_prefix": "", + "duration": "234.00µs", "nested": { - "CallRequestsRepr.serialize": "13.00µs", - "InterpreterData::serialize": "51.00µs" + "air::farewell_step::outcome::CallRequestsRepr.serialize": "16.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "22.00µs", + "air_interpreter_data::interpreter_data::serialize": "22.00µs" } } } } } }, - "signing_step::sign_produced_cids": "101.00µs", + "signing_step::sign_produced_cids": "104.00µs", "verification_step::verify": { "common_prefix": "air_interpreter_data::cid_info", - "duration": "32.00µs", + "duration": "41.00µs", "nested": { - "verify": "10.00µs" + "verify": "12.00µs" } } } } }, - "total_time": "712.00µs" + "total_time": "988.00µs" }, "parser-10000-100": { "comment": "long air script with lot of variable assignments", @@ -2256,48 +2561,56 @@ "stats": { "air::runner::execute_air": { "common_prefix": "air", - "duration": "31.70ms", + "duration": "31.20ms", "nested": { - "preparation_step::preparation::parse_data": "16.00µs", + "preparation_step::preparation::parse_data": { + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "140.00µs", + "nested": { + "serialize": "27.00µs", + "try_from_slice": "30.00µs" + } + }, "preparation_step::preparation::prepare": { "common_prefix": "", - "duration": "30.40ms", + "duration": "29.80ms", "nested": { "air::preparation_step::preparation::make_exec_ctx": { "common_prefix": "air::preparation_step::preparation", - "duration": "43.00µs", + "duration": "42.00µs", "nested": { "CallResultsRepr.deserialize": "12.00µs" } }, - "air_parser::parser::air_parser::parse": "30.10ms" + "air_parser::parser::air_parser::parse": "29.60ms" } }, - "runner::execute": "27.00µs", + "runner::execute": "24.00µs", "runner::farewell": { "common_prefix": "air::farewell_step::outcome", - "duration": "284.00µs", + "duration": "272.00µs", "nested": { "from_success_result": { "common_prefix": "air::farewell_step::outcome", - "duration": "262.00µs", + "duration": "247.00µs", "nested": { "populate_outcome_from_contexts": { - "common_prefix": "air::farewell_step::outcome", - "duration": "220.00µs", + "common_prefix": "", + "duration": "213.00µs", "nested": { - "CallRequestsRepr.serialize": "12.00µs", - "InterpreterData::serialize": "56.00µs" + "air::farewell_step::outcome::CallRequestsRepr.serialize": "14.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "18.00µs", + "air_interpreter_data::interpreter_data::serialize": "21.00µs" } } } } } }, - "signing_step::sign_produced_cids": "101.00µs", + "signing_step::sign_produced_cids": "99.00µs", "verification_step::verify": { "common_prefix": "air_interpreter_data::cid_info", - "duration": "33.00µs", + "duration": "34.00µs", "nested": { "verify": "10.00µs" } @@ -2305,7 +2618,75 @@ } } }, - "total_time": "31.70ms" + "total_time": "31.20ms" + }, + "parser-air-100mb": { + "comment": "multiple calls parser benchmark", + "memory_sizes": [ + "110.500 MiB", + "110.500 MiB" + ], + "stats": { + "air::runner::execute_air": { + "common_prefix": "air", + "duration": "676.00ms", + "nested": { + "preparation_step::preparation::parse_data": { + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "141.00µs", + "nested": { + "serialize": "27.00µs", + "try_from_slice": "35.00µs" + } + }, + "preparation_step::preparation::prepare": { + "common_prefix": "", + "duration": "651.00ms", + "nested": { + "air::preparation_step::preparation::make_exec_ctx": { + "common_prefix": "air::preparation_step::preparation", + "duration": "42.00µs", + "nested": { + "CallResultsRepr.deserialize": "11.00µs" + } + }, + "air_parser::parser::air_parser::parse": "651.00ms" + } + }, + "runner::execute": "27.00µs", + "runner::farewell": { + "common_prefix": "air::farewell_step::outcome", + "duration": "264.00µs", + "nested": { + "from_success_result": { + "common_prefix": "air::farewell_step::outcome", + "duration": "243.00µs", + "nested": { + "populate_outcome_from_contexts": { + "common_prefix": "", + "duration": "208.00µs", + "nested": { + "air::farewell_step::outcome::CallRequestsRepr.serialize": "13.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "17.00µs", + "air_interpreter_data::interpreter_data::serialize": "21.00µs" + } + } + } + } + } + }, + "signing_step::sign_produced_cids": "98.00µs", + "verification_step::verify": { + "common_prefix": "air_interpreter_data::cid_info", + "duration": "32.00µs", + "nested": { + "verify": "9.00µs" + } + } + } + } + }, + "total_time": "676.00ms" }, "parser-calls-10000-100": { "comment": "multiple calls parser benchmark", @@ -2316,48 +2697,56 @@ "stats": { "air::runner::execute_air": { "common_prefix": "air", - "duration": "26.50ms", + "duration": "25.70ms", "nested": { - "preparation_step::preparation::parse_data": "17.00µs", + "preparation_step::preparation::parse_data": { + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "140.00µs", + "nested": { + "serialize": "27.00µs", + "try_from_slice": "30.00µs" + } + }, "preparation_step::preparation::prepare": { "common_prefix": "", - "duration": "24.80ms", + "duration": "24.30ms", "nested": { "air::preparation_step::preparation::make_exec_ctx": { "common_prefix": "air::preparation_step::preparation", - "duration": "44.00µs", + "duration": "40.00µs", "nested": { - "CallResultsRepr.deserialize": "11.00µs" + "CallResultsRepr.deserialize": "12.00µs" } }, - "air_parser::parser::air_parser::parse": "24.60ms" + "air_parser::parser::air_parser::parse": "24.10ms" } }, - "runner::execute": "31.00µs", + "runner::execute": "26.00µs", "runner::farewell": { "common_prefix": "air::farewell_step::outcome", - "duration": "414.00µs", + "duration": "261.00µs", "nested": { "from_success_result": { "common_prefix": "air::farewell_step::outcome", - "duration": "379.00µs", + "duration": "237.00µs", "nested": { "populate_outcome_from_contexts": { - "common_prefix": "air::farewell_step::outcome", - "duration": "327.00µs", + "common_prefix": "", + "duration": "204.00µs", "nested": { - "CallRequestsRepr.serialize": "21.00µs", - "InterpreterData::serialize": "71.00µs" + "air::farewell_step::outcome::CallRequestsRepr.serialize": "12.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "17.00µs", + "air_interpreter_data::interpreter_data::serialize": "20.00µs" } } } } } }, - "signing_step::sign_produced_cids": "156.00µs", + "signing_step::sign_produced_cids": "99.00µs", "verification_step::verify": { "common_prefix": "air_interpreter_data::cid_info", - "duration": "34.00µs", + "duration": "33.00µs", "nested": { "verify": "10.00µs" } @@ -2365,7 +2754,7 @@ } } }, - "total_time": "26.50ms" + "total_time": "25.70ms" }, "populate-map-multiple-keys": { "comment": "benchmarking a map insert operation", @@ -2376,62 +2765,64 @@ "stats": { "air::runner::execute_air": { "common_prefix": "air", - "duration": "4.10ms", + "duration": "4.21ms", "nested": { "preparation_step::preparation::parse_data": { - "common_prefix": "air_interpreter_data::interpreter_data::InterpreterData", - "duration": "116.00µs", + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "165.00µs", "nested": { - "try_from_slice": "72.00µs" + "serialize": "16.00µs", + "try_from_slice": "65.00µs" } }, "preparation_step::preparation::prepare": { "common_prefix": "", - "duration": "212.00µs", + "duration": "216.00µs", "nested": { "air::preparation_step::preparation::make_exec_ctx": { "common_prefix": "air::preparation_step::preparation", "duration": "40.00µs", "nested": { - "CallResultsRepr.deserialize": "10.00µs" + "CallResultsRepr.deserialize": "12.00µs" } }, "air_parser::parser::air_parser::parse": "50.00µs" } }, - "runner::execute": "2.78ms", + "runner::execute": "2.83ms", "runner::farewell": { "common_prefix": "air::farewell_step::outcome", - "duration": "414.00µs", + "duration": "357.00µs", "nested": { "from_success_result": { "common_prefix": "air::farewell_step::outcome", - "duration": "393.00µs", + "duration": "334.00µs", "nested": { "populate_outcome_from_contexts": { - "common_prefix": "air::farewell_step::outcome", - "duration": "356.00µs", + "common_prefix": "", + "duration": "298.00µs", "nested": { - "CallRequestsRepr.serialize": "13.00µs", - "InterpreterData::serialize": "165.00µs" + "air::farewell_step::outcome::CallRequestsRepr.serialize": "14.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "22.00µs", + "air_interpreter_data::interpreter_data::serialize": "62.00µs" } } } } } }, - "signing_step::sign_produced_cids": "101.00µs", + "signing_step::sign_produced_cids": "112.00µs", "verification_step::verify": { "common_prefix": "air_interpreter_data::cid_info", - "duration": "336.00µs", + "duration": "398.00µs", "nested": { - "verify": "26.00µs" + "verify": "24.00µs" } } } } }, - "total_time": "4.10ms" + "total_time": "4.21ms" }, "populate-map-single-key": { "comment": "benchmarking a map insert operation", @@ -2442,68 +2833,70 @@ "stats": { "air::runner::execute_air": { "common_prefix": "air", - "duration": "3.40ms", + "duration": "3.48ms", "nested": { "preparation_step::preparation::parse_data": { - "common_prefix": "air_interpreter_data::interpreter_data::InterpreterData", - "duration": "170.00µs", + "common_prefix": "air_interpreter_data::interpreter_data", + "duration": "166.00µs", "nested": { - "try_from_slice": "131.00µs" + "serialize": "16.00µs", + "try_from_slice": "64.00µs" } }, "preparation_step::preparation::prepare": { "common_prefix": "", - "duration": "216.00µs", + "duration": "209.00µs", "nested": { "air::preparation_step::preparation::make_exec_ctx": { "common_prefix": "air::preparation_step::preparation", - "duration": "39.00µs", + "duration": "41.00µs", "nested": { - "CallResultsRepr.deserialize": "10.00µs" + "CallResultsRepr.deserialize": "12.00µs" } }, - "air_parser::parser::air_parser::parse": "50.00µs" + "air_parser::parser::air_parser::parse": "45.00µs" } }, - "runner::execute": "1.95ms", + "runner::execute": "1.97ms", "runner::farewell": { "common_prefix": "air::farewell_step::outcome", - "duration": "436.00µs", + "duration": "491.00µs", "nested": { "from_success_result": { "common_prefix": "air::farewell_step::outcome", - "duration": "412.00µs", + "duration": "464.00µs", "nested": { "populate_outcome_from_contexts": { - "common_prefix": "air::farewell_step::outcome", - "duration": "360.00µs", + "common_prefix": "", + "duration": "407.00µs", "nested": { - "CallRequestsRepr.serialize": "13.00µs", - "InterpreterData::serialize": "179.00µs" + "air::farewell_step::outcome::CallRequestsRepr.serialize": "14.00µs", + "air::farewell_step::outcome::InterpreterDataEnv::serialize": "22.00µs", + "air_interpreter_data::interpreter_data::serialize": "89.00µs" } } } } } }, - "signing_step::sign_produced_cids": "105.00µs", + "signing_step::sign_produced_cids": "103.00µs", "verification_step::verify": { "common_prefix": "air_interpreter_data::cid_info", - "duration": "401.00µs", + "duration": "402.00µs", "nested": { - "verify": "68.00µs" + "verify": "40.00µs" } } } } }, - "total_time": "3.40ms" + "total_time": "3.48ms" } }, - "datetime": "2023-12-26 11:57:40.853306+00:00", + "datetime": "2024-01-15 11:32:08.545924+00:00", "features": "", "platform": "Linux-6.5.9-arch2-1-x86_64-with-glibc2.35", - "version": "0.55.0" + "version": "0.58.0" }, "c1f3ea5950db0a10b44da931c25774d64ab25084f47d504f72f311e694550ff1": { "benches": { diff --git a/benches/PERFORMANCE.txt b/benches/PERFORMANCE.txt index b347dc5be3..70bc518c42 100644 --- a/benches/PERFORMANCE.txt +++ b/benches/PERFORMANCE.txt @@ -328,347 +328,480 @@ Machine 62dabcde478dc58760ebbe71ef6047299144a5f63990c6c3d826ebf30175adfc: new: 42.00µs Machine 88756ca30bfb93b0da6a64252adc98fc3e97e142c3b4970af3d2948fd66107b4: Platform: Linux-6.5.9-arch2-1-x86_64-with-glibc2.35 - Timestamp: 2023-12-26 11:57:40.853306+00:00 - AquaVM version: 0.55.0 + Timestamp: 2024-01-15 11:32:08.545924+00:00 + AquaVM version: 0.58.0 Benches: Features: - big-values-data (19.20ms; 59.000 MiB, 59.000 MiB): Loading a trace with huge values - air::runner::execute_air: 19.20ms - preparation_step::preparation::parse_data: 7.01ms - try_from_slice: 6.96ms + big-values-data (5.02ms; 56.250 MiB, 56.250 MiB): Loading a trace with huge values + air::runner::execute_air: 5.02ms + preparation_step::preparation::parse_data: 1.07ms + serialize: 16.00µs + try_from_slice: 968.00µs preparation_step::preparation::prepare: 184.00µs air::preparation_step::preparation::make_exec_ctx: 44.00µs - CallResultsRepr.deserialize: 10.00µs - air_parser::parser::air_parser::parse: 19.00µs + CallResultsRepr.deserialize: 11.00µs + air_parser::parser::air_parser::parse: 18.00µs runner::execute: 9.00µs - runner::farewell: 5.81ms - from_success_result: 5.78ms - populate_outcome_from_contexts: 5.74ms - CallRequestsRepr.serialize: 15.00µs - InterpreterData::serialize: 4.44ms - signing_step::sign_produced_cids: 98.00µs - verification_step::verify: 5.99ms - verify: 5.66ms - call-requests500 (53.00ms; 70.562 MiB, 70.562 MiB): multiple call requests - air::runner::execute_air: 53.00ms - preparation_step::preparation::parse_data: 105.00µs - try_from_slice: 66.00µs - preparation_step::preparation::prepare: 235.00µs - air::preparation_step::preparation::make_exec_ctx: 60.00µs - CallResultsRepr.deserialize: 34.00µs - air_parser::parser::air_parser::parse: 48.00µs - runner::execute: 25.00ms - runner::farewell: 27.30ms - from_success_result: 27.30ms - populate_outcome_from_contexts: 27.10ms - CallRequestsRepr.serialize: 26.50ms - InterpreterData::serialize: 377.00µs - signing_step::sign_produced_cids: 136.00µs - verification_step::verify: 64.00µs - verify: 10.00µs - call-results500 (21.20ms; 54.438 MiB, 54.438 MiB): multiple call results - air::runner::execute_air: 21.20ms - preparation_step::preparation::parse_data: 587.00µs - try_from_slice: 546.00µs - preparation_step::preparation::prepare: 895.00µs - air::preparation_step::preparation::make_exec_ctx: 718.00µs - CallResultsRepr.deserialize: 686.00µs - air_parser::parser::air_parser::parse: 50.00µs - runner::execute: 16.50ms - runner::farewell: 2.63ms - from_success_result: 2.60ms - populate_outcome_from_contexts: 2.15ms - CallRequestsRepr.serialize: 13.00µs - InterpreterData::serialize: 1.54ms - signing_step::sign_produced_cids: 456.00µs - verification_step::verify: 67.00µs - verify: 10.00µs - canon-map-key-by-lens (16.00ms; 56.625 MiB, 56.625 MiB): benchmarking a map insert operation - air::runner::execute_air: 16.00ms - preparation_step::preparation::parse_data: 4.07ms - try_from_slice: 4.01ms - preparation_step::preparation::prepare: 549.00µs - air::preparation_step::preparation::make_exec_ctx: 365.00µs - CallResultsRepr.deserialize: 10.00µs - air_parser::parser::air_parser::parse: 56.00µs - runner::execute: 2.84ms - runner::farewell: 3.49ms - from_success_result: 3.46ms - populate_outcome_from_contexts: 3.00ms - CallRequestsRepr.serialize: 15.00µs - InterpreterData::serialize: 2.55ms + runner::farewell: 927.00µs + from_success_result: 906.00µs + populate_outcome_from_contexts: 871.00µs + air::farewell_step::outcome::CallRequestsRepr.serialize: 14.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 200.00µs + air_interpreter_data::interpreter_data::serialize: 483.00µs signing_step::sign_produced_cids: 102.00µs - verification_step::verify: 4.84ms - verify: 4.51ms - canon-map-key-element-by-lens (17.10ms; 56.625 MiB, 56.625 MiB): benchmarking a map insert operation - air::runner::execute_air: 17.10ms - preparation_step::preparation::parse_data: 4.03ms - try_from_slice: 3.99ms - preparation_step::preparation::prepare: 868.00µs - air::preparation_step::preparation::make_exec_ctx: 614.00µs - CallResultsRepr.deserialize: 18.00µs - air_parser::parser::air_parser::parse: 90.00µs - runner::execute: 3.21ms - runner::farewell: 3.22ms - from_success_result: 3.19ms - populate_outcome_from_contexts: 2.79ms - CallRequestsRepr.serialize: 14.00µs - InterpreterData::serialize: 2.42ms - signing_step::sign_produced_cids: 108.00µs - verification_step::verify: 5.46ms - verify: 4.90ms - canon-map-multiple-keys (13.20ms; 54.500 MiB, 54.500 MiB): benchmarking a map insert operation - air::runner::execute_air: 13.20ms - preparation_step::preparation::parse_data: 326.00µs - try_from_slice: 286.00µs - preparation_step::preparation::prepare: 212.00µs - air::preparation_step::preparation::make_exec_ctx: 38.00µs - CallResultsRepr.deserialize: 10.00µs - air_parser::parser::air_parser::parse: 47.00µs - runner::execute: 9.08ms - runner::farewell: 3.05ms - from_success_result: 3.03ms - populate_outcome_from_contexts: 2.69ms - CallRequestsRepr.serialize: 15.00µs - InterpreterData::serialize: 2.33ms - signing_step::sign_produced_cids: 108.00µs - verification_step::verify: 337.00µs - verify: 25.00µs - canon-map-scalar-multiple-keys (4.91ms; 53.125 MiB, 53.125 MiB): benchmarking a map insert operation - air::runner::execute_air: 4.91ms - preparation_step::preparation::parse_data: 325.00µs - try_from_slice: 285.00µs - preparation_step::preparation::prepare: 205.00µs - air::preparation_step::preparation::make_exec_ctx: 37.00µs + verification_step::verify: 2.61ms + verify: 2.21ms + call-requests500 (24.40ms; 57.375 MiB, 57.375 MiB): multiple call requests + air::runner::execute_air: 24.40ms + preparation_step::preparation::parse_data: 149.00µs + serialize: 15.00µs + try_from_slice: 51.00µs + preparation_step::preparation::prepare: 220.00µs + air::preparation_step::preparation::make_exec_ctx: 44.00µs + CallResultsRepr.deserialize: 14.00µs + air_parser::parser::air_parser::parse: 49.00µs + runner::execute: 22.20ms + runner::farewell: 1.49ms + from_success_result: 1.46ms + populate_outcome_from_contexts: 1.34ms + air::farewell_step::outcome::CallRequestsRepr.serialize: 1.07ms + air::farewell_step::outcome::InterpreterDataEnv::serialize: 23.00µs + air_interpreter_data::interpreter_data::serialize: 68.00µs + signing_step::sign_produced_cids: 103.00µs + verification_step::verify: 96.00µs + verify: 10.00µs + call-result-100mb (530.00ms; 580.375 MiB, 580.375 MiB): benchmarking + air::runner::execute_air: 530.00ms + preparation_step::preparation::parse_data: 49.20ms + serialize: 16.00µs + try_from_slice: 49.13ms + preparation_step::preparation::prepare: 195.00µs + air::preparation_step::preparation::make_exec_ctx: 40.00µs CallResultsRepr.deserialize: 10.00µs - air_parser::parser::air_parser::parse: 44.00µs - runner::execute: 3.32ms - runner::farewell: 495.00µs - from_success_result: 473.00µs - populate_outcome_from_contexts: 435.00µs - CallRequestsRepr.serialize: 13.00µs - InterpreterData::serialize: 171.00µs + air_parser::parser::air_parser::parse: 35.00µs + runner::execute: 205.00ms + runner::farewell: 50.00ms + from_success_result: 50.00ms + populate_outcome_from_contexts: 50.00ms + air::farewell_step::outcome::CallRequestsRepr.serialize: 16.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 14.40ms + air_interpreter_data::interpreter_data::serialize: 35.30ms + signing_step::sign_produced_cids: 109.00µs + verification_step::verify: 225.00ms + verify: 225.00ms + call-results500 (26.30ms; 54.438 MiB, 54.438 MiB): multiple call results + air::runner::execute_air: 26.30ms + preparation_step::preparation::parse_data: 232.00µs + serialize: 14.00µs + try_from_slice: 127.00µs + preparation_step::preparation::prepare: 421.00µs + air::preparation_step::preparation::make_exec_ctx: 229.00µs + CallResultsRepr.deserialize: 194.00µs + air_parser::parser::air_parser::parse: 50.00µs + runner::execute: 22.90ms + runner::farewell: 1.92ms + from_success_result: 1.89ms + populate_outcome_from_contexts: 1.42ms + air::farewell_step::outcome::CallRequestsRepr.serialize: 14.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 120.00µs + air_interpreter_data::interpreter_data::serialize: 652.00µs + signing_step::sign_produced_cids: 548.00µs + verification_step::verify: 122.00µs + verify: 13.00µs + canon-map-100mb (1.11s; 1.305 GiB, 1.305 GiB): benchmarking + air::runner::execute_air: 1.11s + preparation_step::preparation::parse_data: 49.60ms + serialize: 16.00µs + try_from_slice: 49.43ms + preparation_step::preparation::prepare: 209.00µs + air::preparation_step::preparation::make_exec_ctx: 39.00µs + CallResultsRepr.deserialize: 11.00µs + air_parser::parser::air_parser::parse: 46.00µs + runner::execute: 706.00ms + runner::farewell: 127.00ms + from_success_result: 127.00ms + populate_outcome_from_contexts: 127.00ms + air::farewell_step::outcome::CallRequestsRepr.serialize: 15.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 37.40ms + air_interpreter_data::interpreter_data::serialize: 89.00ms + signing_step::sign_produced_cids: 112.00µs + verification_step::verify: 224.00ms + verify: 224.00ms + canon-map-key-by-lens (12.80ms; 55.312 MiB, 55.312 MiB): benchmarking a map insert operation + air::runner::execute_air: 12.80ms + preparation_step::preparation::parse_data: 2.46ms + serialize: 15.00µs + try_from_slice: 2.35ms + preparation_step::preparation::prepare: 533.00µs + air::preparation_step::preparation::make_exec_ctx: 351.00µs + CallResultsRepr.deserialize: 11.00µs + air_parser::parser::air_parser::parse: 55.00µs + runner::execute: 3.13ms + runner::farewell: 1.78ms + from_success_result: 1.75ms + populate_outcome_from_contexts: 1.42ms + air::farewell_step::outcome::CallRequestsRepr.serialize: 14.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 120.00µs + air_interpreter_data::interpreter_data::serialize: 895.00µs signing_step::sign_produced_cids: 101.00µs - verification_step::verify: 338.00µs - verify: 25.00µs - canon-map-scalar-single-key (4.26ms; 53.000 MiB, 53.000 MiB): benchmarking a map insert operation - air::runner::execute_air: 4.26ms - preparation_step::preparation::parse_data: 378.00µs - try_from_slice: 328.00µs - preparation_step::preparation::prepare: 205.00µs - air::preparation_step::preparation::make_exec_ctx: 37.00µs - CallResultsRepr.deserialize: 10.00µs - air_parser::parser::air_parser::parse: 43.00µs - runner::execute: 2.49ms - runner::farewell: 493.00µs - from_success_result: 471.00µs - populate_outcome_from_contexts: 418.00µs - CallRequestsRepr.serialize: 12.00µs - InterpreterData::serialize: 179.00µs + verification_step::verify: 4.63ms + verify: 4.26ms + canon-map-key-element-by-lens (13.10ms; 55.312 MiB, 55.312 MiB): benchmarking a map insert operation + air::runner::execute_air: 13.10ms + preparation_step::preparation::parse_data: 2.49ms + serialize: 16.00µs + try_from_slice: 2.39ms + preparation_step::preparation::prepare: 541.00µs + air::preparation_step::preparation::make_exec_ctx: 357.00µs + CallResultsRepr.deserialize: 11.00µs + air_parser::parser::air_parser::parse: 54.00µs + runner::execute: 3.35ms + runner::farewell: 1.79ms + from_success_result: 1.77ms + populate_outcome_from_contexts: 1.43ms + air::farewell_step::outcome::CallRequestsRepr.serialize: 14.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 121.00µs + air_interpreter_data::interpreter_data::serialize: 891.00µs signing_step::sign_produced_cids: 103.00µs - verification_step::verify: 452.00µs - verify: 82.00µs - canon-map-single-key (11.60ms; 55.312 MiB, 55.312 MiB): benchmarking a map insert operation - air::runner::execute_air: 11.60ms - preparation_step::preparation::parse_data: 395.00µs - try_from_slice: 356.00µs - preparation_step::preparation::prepare: 205.00µs + verification_step::verify: 4.69ms + verify: 4.33ms + canon-map-multiple-keys (13.00ms; 54.562 MiB, 54.562 MiB): benchmarking a map insert operation + air::runner::execute_air: 13.00ms + preparation_step::preparation::parse_data: 227.00µs + serialize: 18.00µs + try_from_slice: 117.00µs + preparation_step::preparation::prepare: 225.00µs + air::preparation_step::preparation::make_exec_ctx: 42.00µs + CallResultsRepr.deserialize: 12.00µs + air_parser::parser::air_parser::parse: 50.00µs + runner::execute: 10.10ms + runner::farewell: 1.78ms + from_success_result: 1.75ms + populate_outcome_from_contexts: 1.39ms + air::farewell_step::outcome::CallRequestsRepr.serialize: 15.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 96.00µs + air_interpreter_data::interpreter_data::serialize: 893.00µs + signing_step::sign_produced_cids: 112.00µs + verification_step::verify: 424.00µs + verify: 27.00µs + canon-map-scalar-multiple-keys (4.92ms; 53.125 MiB, 53.125 MiB): benchmarking a map insert operation + air::runner::execute_air: 4.92ms + preparation_step::preparation::parse_data: 210.00µs + serialize: 16.00µs + try_from_slice: 110.00µs + preparation_step::preparation::prepare: 214.00µs air::preparation_step::preparation::make_exec_ctx: 42.00µs - CallResultsRepr.deserialize: 10.00µs - air_parser::parser::air_parser::parse: 41.00µs - runner::execute: 7.10ms - runner::farewell: 3.24ms - from_success_result: 3.22ms - populate_outcome_from_contexts: 2.92ms - CallRequestsRepr.serialize: 14.00µs - InterpreterData::serialize: 2.59ms - signing_step::sign_produced_cids: 114.00µs - verification_step::verify: 383.00µs - verify: 67.00µs - dashboard (6.67ms; 52.625 MiB, 52.625 MiB): big dashboard test - air::runner::execute_air: 6.67ms - preparation_step::preparation::parse_data: 1.05ms - try_from_slice: 986.00µs - preparation_step::preparation::prepare: 336.00µs - air::preparation_step::preparation::make_exec_ctx: 63.00µs - CallResultsRepr.deserialize: 10.00µs - air_parser::parser::air_parser::parse: 138.00µs - runner::execute: 1.41ms - runner::farewell: 805.00µs - from_success_result: 784.00µs - populate_outcome_from_contexts: 736.00µs - CallRequestsRepr.serialize: 28.00µs - InterpreterData::serialize: 496.00µs - signing_step::sign_produced_cids: 108.00µs - verification_step::verify: 2.82ms - verify: 213.00µs - long-data (6.39ms; 53.812 MiB, 53.812 MiB): Long data trace - air::runner::execute_air: 6.39ms - preparation_step::preparation::parse_data: 2.40ms - try_from_slice: 2.36ms - preparation_step::preparation::prepare: 203.00µs - air::preparation_step::preparation::make_exec_ctx: 65.00µs - CallResultsRepr.deserialize: 10.00µs - air_parser::parser::air_parser::parse: 17.00µs - runner::execute: 9.00µs - runner::farewell: 1.16ms - from_success_result: 1.13ms - populate_outcome_from_contexts: 1.10ms - CallRequestsRepr.serialize: 14.00µs - InterpreterData::serialize: 589.00µs - signing_step::sign_produced_cids: 100.00µs - verification_step::verify: 2.39ms - verify: 943.00µs - multiple-cids10 (3.07ms; 52.438 MiB, 52.438 MiB): verifying multiple CIDs for single peer - air::runner::execute_air: 3.07ms - preparation_step::preparation::parse_data: 420.00µs - try_from_slice: 364.00µs - preparation_step::preparation::prepare: 221.00µs - air::preparation_step::preparation::make_exec_ctx: 55.00µs CallResultsRepr.deserialize: 11.00µs - air_parser::parser::air_parser::parse: 43.00µs - runner::execute: 574.00µs - runner::farewell: 622.00µs - from_success_result: 600.00µs - populate_outcome_from_contexts: 544.00µs - CallRequestsRepr.serialize: 15.00µs - InterpreterData::serialize: 329.00µs + air_parser::parser::air_parser::parse: 46.00µs + runner::execute: 3.44ms + runner::farewell: 432.00µs + from_success_result: 408.00µs + populate_outcome_from_contexts: 367.00µs + air::farewell_step::outcome::CallRequestsRepr.serialize: 14.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 21.00µs + air_interpreter_data::interpreter_data::serialize: 55.00µs + signing_step::sign_produced_cids: 104.00µs + verification_step::verify: 391.00µs + verify: 27.00µs + canon-map-scalar-single-key (3.86ms; 53.062 MiB, 53.062 MiB): benchmarking a map insert operation + air::runner::execute_air: 3.86ms + preparation_step::preparation::parse_data: 202.00µs + serialize: 16.00µs + try_from_slice: 101.00µs + preparation_step::preparation::prepare: 206.00µs + air::preparation_step::preparation::make_exec_ctx: 39.00µs + CallResultsRepr.deserialize: 11.00µs + air_parser::parser::air_parser::parse: 42.00µs + runner::execute: 2.39ms + runner::farewell: 426.00µs + from_success_result: 404.00µs + populate_outcome_from_contexts: 352.00µs + air::farewell_step::outcome::CallRequestsRepr.serialize: 14.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 21.00µs + air_interpreter_data::interpreter_data::serialize: 66.00µs signing_step::sign_produced_cids: 102.00µs - verification_step::verify: 1.01ms - verify: 253.00µs - multiple-peers8 (12.00ms; 53.375 MiB, 53.375 MiB): verifying many CIDs for many peers - air::runner::execute_air: 12.00ms - preparation_step::preparation::parse_data: 1.60ms - try_from_slice: 1.53ms + verification_step::verify: 402.00µs + verify: 40.00µs + canon-map-single-key (10.30ms; 54.438 MiB, 54.438 MiB): benchmarking a map insert operation + air::runner::execute_air: 10.30ms + preparation_step::preparation::parse_data: 192.00µs + serialize: 16.00µs + try_from_slice: 96.00µs + preparation_step::preparation::prepare: 199.00µs + air::preparation_step::preparation::make_exec_ctx: 39.00µs + CallResultsRepr.deserialize: 11.00µs + air_parser::parser::air_parser::parse: 40.00µs + runner::execute: 7.57ms + runner::farewell: 1.66ms + from_success_result: 1.64ms + populate_outcome_from_contexts: 1.35ms + air::farewell_step::outcome::CallRequestsRepr.serialize: 14.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 107.00µs + air_interpreter_data::interpreter_data::serialize: 903.00µs + signing_step::sign_produced_cids: 102.00µs + verification_step::verify: 399.00µs + verify: 40.00µs + dashboard (6.15ms; 52.688 MiB, 52.688 MiB): big dashboard test + air::runner::execute_air: 6.15ms + preparation_step::preparation::parse_data: 519.00µs + try_from_slice: 435.00µs preparation_step::preparation::prepare: 330.00µs - air::preparation_step::preparation::make_exec_ctx: 152.00µs - CallResultsRepr.deserialize: 10.00µs - air_parser::parser::air_parser::parse: 50.00µs - runner::execute: 3.96ms - runner::farewell: 1.57ms - from_success_result: 1.55ms - populate_outcome_from_contexts: 1.43ms - CallRequestsRepr.serialize: 14.00µs - InterpreterData::serialize: 1.16ms - signing_step::sign_produced_cids: 104.00µs - verification_step::verify: 4.30ms - verify: 1.18ms - multiple-sigs30 (26.20ms; 56.188 MiB, 56.188 MiB): signing multiple CIDs - air::runner::execute_air: 26.20ms - preparation_step::preparation::parse_data: 4.93ms - try_from_slice: 4.88ms - preparation_step::preparation::prepare: 438.00µs - air::preparation_step::preparation::make_exec_ctx: 261.00µs - CallResultsRepr.deserialize: 10.00µs - air_parser::parser::air_parser::parse: 49.00µs - runner::execute: 11.10ms - runner::farewell: 4.39ms - from_success_result: 4.37ms - populate_outcome_from_contexts: 4.17ms - CallRequestsRepr.serialize: 14.00µs - InterpreterData::serialize: 3.04ms - signing_step::sign_produced_cids: 742.00µs - verification_step::verify: 4.36ms - verify: 2.03ms - network-explore (3.35ms; 52.375 MiB, 52.375 MiB): 5 peers of network are discovered - air::runner::execute_air: 3.35ms - preparation_step::preparation::parse_data: 596.00µs - try_from_slice: 509.00µs - preparation_step::preparation::prepare: 249.00µs - air::preparation_step::preparation::make_exec_ctx: 46.00µs - CallResultsRepr.deserialize: 10.00µs - air_parser::parser::air_parser::parse: 74.00µs - runner::execute: 168.00µs - runner::farewell: 441.00µs - from_success_result: 418.00µs - populate_outcome_from_contexts: 376.00µs - CallRequestsRepr.serialize: 14.00µs - InterpreterData::serialize: 199.00µs - signing_step::sign_produced_cids: 105.00µs - verification_step::verify: 1.64ms - verify: 99.00µs - null (712.00µs; 52.375 MiB, 52.375 MiB): Empty data and null script - air::runner::execute_air: 712.00µs - preparation_step::preparation::parse_data: 16.00µs - preparation_step::preparation::prepare: 183.00µs - air::preparation_step::preparation::make_exec_ctx: 35.00µs + air::preparation_step::preparation::make_exec_ctx: 64.00µs + CallResultsRepr.deserialize: 11.00µs + air_parser::parser::air_parser::parse: 134.00µs + runner::execute: 1.17ms + runner::farewell: 488.00µs + from_success_result: 465.00µs + populate_outcome_from_contexts: 418.00µs + air::farewell_step::outcome::CallRequestsRepr.serialize: 23.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 40.00µs + air_interpreter_data::interpreter_data::serialize: 119.00µs + signing_step::sign_produced_cids: 107.00µs + verification_step::verify: 3.40ms + verify: 204.00µs + lense-100mb (1.09s; 1.207 GiB, 1.207 GiB): benchmarking + air::runner::execute_air: 1.09s + preparation_step::preparation::parse_data: 49.00ms + serialize: 16.00µs + try_from_slice: 48.93ms + preparation_step::preparation::prepare: 220.00µs + air::preparation_step::preparation::make_exec_ctx: 44.00µs + CallResultsRepr.deserialize: 12.00µs + air_parser::parser::air_parser::parse: 48.00µs + runner::execute: 686.00ms + runner::farewell: 125.00ms + from_success_result: 125.00ms + populate_outcome_from_contexts: 125.00ms + air::farewell_step::outcome::CallRequestsRepr.serialize: 15.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 37.10ms + air_interpreter_data::interpreter_data::serialize: 88.10ms + signing_step::sign_produced_cids: 111.00µs + verification_step::verify: 226.00ms + verify: 225.00ms + long-data (3.73ms; 53.125 MiB, 53.125 MiB): Long data trace + air::runner::execute_air: 3.73ms + preparation_step::preparation::parse_data: 969.00µs + serialize: 15.00µs + try_from_slice: 865.00µs + preparation_step::preparation::prepare: 205.00µs + air::preparation_step::preparation::make_exec_ctx: 66.00µs CallResultsRepr.deserialize: 10.00µs air_parser::parser::air_parser::parse: 17.00µs runner::execute: 9.00µs - runner::farewell: 257.00µs - from_success_result: 237.00µs - populate_outcome_from_contexts: 204.00µs - CallRequestsRepr.serialize: 13.00µs - InterpreterData::serialize: 51.00µs - signing_step::sign_produced_cids: 101.00µs - verification_step::verify: 32.00µs - verify: 10.00µs - parser-10000-100 (31.70ms; 54.625 MiB, 54.625 MiB): long air script with lot of variable assignments - air::runner::execute_air: 31.70ms - preparation_step::preparation::parse_data: 16.00µs - preparation_step::preparation::prepare: 30.40ms - air::preparation_step::preparation::make_exec_ctx: 43.00µs - CallResultsRepr.deserialize: 12.00µs - air_parser::parser::air_parser::parse: 30.10ms - runner::execute: 27.00µs - runner::farewell: 284.00µs - from_success_result: 262.00µs - populate_outcome_from_contexts: 220.00µs - CallRequestsRepr.serialize: 12.00µs - InterpreterData::serialize: 56.00µs + runner::farewell: 416.00µs + from_success_result: 395.00µs + populate_outcome_from_contexts: 360.00µs + air::farewell_step::outcome::CallRequestsRepr.serialize: 14.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 27.00µs + air_interpreter_data::interpreter_data::serialize: 97.00µs + signing_step::sign_produced_cids: 98.00µs + verification_step::verify: 1.92ms + verify: 490.00µs + map-100mb (1.12s; 1.305 GiB, 1.305 GiB): benchmarking + air::runner::execute_air: 1.12s + preparation_step::preparation::parse_data: 50.40ms + serialize: 16.00µs + try_from_slice: 50.23ms + preparation_step::preparation::prepare: 209.00µs + air::preparation_step::preparation::make_exec_ctx: 38.00µs + CallResultsRepr.deserialize: 10.00µs + air_parser::parser::air_parser::parse: 44.00µs + runner::execute: 712.00ms + runner::farewell: 130.00ms + from_success_result: 130.00ms + populate_outcome_from_contexts: 130.00ms + air::farewell_step::outcome::CallRequestsRepr.serialize: 16.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 38.30ms + air_interpreter_data::interpreter_data::serialize: 91.70ms + signing_step::sign_produced_cids: 111.00µs + verification_step::verify: 224.00ms + verify: 224.00ms + multiple-cids10 (2.89ms; 52.500 MiB, 52.500 MiB): verifying multiple CIDs for single peer + air::runner::execute_air: 2.89ms + preparation_step::preparation::parse_data: 325.00µs + try_from_slice: 243.00µs + preparation_step::preparation::prepare: 226.00µs + air::preparation_step::preparation::make_exec_ctx: 56.00µs + CallResultsRepr.deserialize: 11.00µs + air_parser::parser::air_parser::parse: 44.00µs + runner::execute: 561.00µs + runner::farewell: 451.00µs + from_success_result: 425.00µs + populate_outcome_from_contexts: 354.00µs + air::farewell_step::outcome::CallRequestsRepr.serialize: 17.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 32.00µs + air_interpreter_data::interpreter_data::serialize: 103.00µs + signing_step::sign_produced_cids: 103.00µs + verification_step::verify: 1.09ms + verify: 262.00µs + multiple-peers8 (11.10ms; 53.438 MiB, 53.438 MiB): verifying many CIDs for many peers + air::runner::execute_air: 11.10ms + preparation_step::preparation::parse_data: 1.12ms + try_from_slice: 1.04ms + preparation_step::preparation::prepare: 302.00µs + air::preparation_step::preparation::make_exec_ctx: 126.00µs + CallResultsRepr.deserialize: 10.00µs + air_parser::parser::air_parser::parse: 51.00µs + runner::execute: 3.76ms + runner::farewell: 924.00µs + from_success_result: 900.00µs + populate_outcome_from_contexts: 777.00µs + air::farewell_step::outcome::CallRequestsRepr.serialize: 15.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 60.00µs + air_interpreter_data::interpreter_data::serialize: 428.00µs signing_step::sign_produced_cids: 101.00µs - verification_step::verify: 33.00µs - verify: 10.00µs - parser-calls-10000-100 (26.50ms; 54.375 MiB, 54.375 MiB): multiple calls parser benchmark - air::runner::execute_air: 26.50ms - preparation_step::preparation::parse_data: 17.00µs - preparation_step::preparation::prepare: 24.80ms - air::preparation_step::preparation::make_exec_ctx: 44.00µs + verification_step::verify: 4.79ms + verify: 1.24ms + multiple-sigs30 (23.10ms; 55.812 MiB, 55.812 MiB): signing multiple CIDs + air::runner::execute_air: 23.10ms + preparation_step::preparation::parse_data: 3.67ms + try_from_slice: 3.58ms + preparation_step::preparation::prepare: 445.00µs + air::preparation_step::preparation::make_exec_ctx: 272.00µs CallResultsRepr.deserialize: 11.00µs - air_parser::parser::air_parser::parse: 24.60ms - runner::execute: 31.00µs - runner::farewell: 414.00µs - from_success_result: 379.00µs - populate_outcome_from_contexts: 327.00µs - CallRequestsRepr.serialize: 21.00µs - InterpreterData::serialize: 71.00µs - signing_step::sign_produced_cids: 156.00µs + air_parser::parser::air_parser::parse: 47.00µs + runner::execute: 10.80ms + runner::farewell: 2.78ms + from_success_result: 2.75ms + populate_outcome_from_contexts: 2.59ms + air::farewell_step::outcome::CallRequestsRepr.serialize: 13.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 208.00µs + air_interpreter_data::interpreter_data::serialize: 1.28ms + signing_step::sign_produced_cids: 675.00µs + verification_step::verify: 4.51ms + verify: 2.11ms + network-explore (3.09ms; 52.375 MiB, 52.375 MiB): 5 peers of network are discovered + air::runner::execute_air: 3.09ms + preparation_step::preparation::parse_data: 219.00µs + try_from_slice: 137.00µs + preparation_step::preparation::prepare: 238.00µs + air::preparation_step::preparation::make_exec_ctx: 47.00µs + CallResultsRepr.deserialize: 11.00µs + air_parser::parser::air_parser::parse: 68.00µs + runner::execute: 173.00µs + runner::farewell: 310.00µs + from_success_result: 287.00µs + populate_outcome_from_contexts: 245.00µs + air::farewell_step::outcome::CallRequestsRepr.serialize: 14.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 18.00µs + air_interpreter_data::interpreter_data::serialize: 38.00µs + signing_step::sign_produced_cids: 102.00µs + verification_step::verify: 1.93ms + verify: 63.00µs + null (988.00µs; 52.375 MiB, 52.375 MiB): Empty data and null script + air::runner::execute_air: 988.00µs + preparation_step::preparation::parse_data: 176.00µs + serialize: 33.00µs + try_from_slice: 38.00µs + preparation_step::preparation::prepare: 207.00µs + air::preparation_step::preparation::make_exec_ctx: 47.00µs + CallResultsRepr.deserialize: 14.00µs + air_parser::parser::air_parser::parse: 22.00µs + runner::execute: 12.00µs + runner::farewell: 306.00µs + from_success_result: 277.00µs + populate_outcome_from_contexts: 234.00µs + air::farewell_step::outcome::CallRequestsRepr.serialize: 16.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 22.00µs + air_interpreter_data::interpreter_data::serialize: 22.00µs + signing_step::sign_produced_cids: 104.00µs + verification_step::verify: 41.00µs + verify: 12.00µs + parser-10000-100 (31.20ms; 54.625 MiB, 54.625 MiB): long air script with lot of variable assignments + air::runner::execute_air: 31.20ms + preparation_step::preparation::parse_data: 140.00µs + serialize: 27.00µs + try_from_slice: 30.00µs + preparation_step::preparation::prepare: 29.80ms + air::preparation_step::preparation::make_exec_ctx: 42.00µs + CallResultsRepr.deserialize: 12.00µs + air_parser::parser::air_parser::parse: 29.60ms + runner::execute: 24.00µs + runner::farewell: 272.00µs + from_success_result: 247.00µs + populate_outcome_from_contexts: 213.00µs + air::farewell_step::outcome::CallRequestsRepr.serialize: 14.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 18.00µs + air_interpreter_data::interpreter_data::serialize: 21.00µs + signing_step::sign_produced_cids: 99.00µs verification_step::verify: 34.00µs verify: 10.00µs - populate-map-multiple-keys (4.10ms; 53.000 MiB, 53.000 MiB): benchmarking a map insert operation - air::runner::execute_air: 4.10ms - preparation_step::preparation::parse_data: 116.00µs - try_from_slice: 72.00µs - preparation_step::preparation::prepare: 212.00µs + parser-air-100mb (676.00ms; 110.500 MiB, 110.500 MiB): multiple calls parser benchmark + air::runner::execute_air: 676.00ms + preparation_step::preparation::parse_data: 141.00µs + serialize: 27.00µs + try_from_slice: 35.00µs + preparation_step::preparation::prepare: 651.00ms + air::preparation_step::preparation::make_exec_ctx: 42.00µs + CallResultsRepr.deserialize: 11.00µs + air_parser::parser::air_parser::parse: 651.00ms + runner::execute: 27.00µs + runner::farewell: 264.00µs + from_success_result: 243.00µs + populate_outcome_from_contexts: 208.00µs + air::farewell_step::outcome::CallRequestsRepr.serialize: 13.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 17.00µs + air_interpreter_data::interpreter_data::serialize: 21.00µs + signing_step::sign_produced_cids: 98.00µs + verification_step::verify: 32.00µs + verify: 9.00µs + parser-calls-10000-100 (25.70ms; 54.375 MiB, 54.375 MiB): multiple calls parser benchmark + air::runner::execute_air: 25.70ms + preparation_step::preparation::parse_data: 140.00µs + serialize: 27.00µs + try_from_slice: 30.00µs + preparation_step::preparation::prepare: 24.30ms air::preparation_step::preparation::make_exec_ctx: 40.00µs - CallResultsRepr.deserialize: 10.00µs - air_parser::parser::air_parser::parse: 50.00µs - runner::execute: 2.78ms - runner::farewell: 414.00µs - from_success_result: 393.00µs - populate_outcome_from_contexts: 356.00µs - CallRequestsRepr.serialize: 13.00µs - InterpreterData::serialize: 165.00µs - signing_step::sign_produced_cids: 101.00µs - verification_step::verify: 336.00µs - verify: 26.00µs - populate-map-single-key (3.40ms; 52.938 MiB, 52.938 MiB): benchmarking a map insert operation - air::runner::execute_air: 3.40ms - preparation_step::preparation::parse_data: 170.00µs - try_from_slice: 131.00µs + CallResultsRepr.deserialize: 12.00µs + air_parser::parser::air_parser::parse: 24.10ms + runner::execute: 26.00µs + runner::farewell: 261.00µs + from_success_result: 237.00µs + populate_outcome_from_contexts: 204.00µs + air::farewell_step::outcome::CallRequestsRepr.serialize: 12.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 17.00µs + air_interpreter_data::interpreter_data::serialize: 20.00µs + signing_step::sign_produced_cids: 99.00µs + verification_step::verify: 33.00µs + verify: 10.00µs + populate-map-multiple-keys (4.21ms; 53.000 MiB, 53.000 MiB): benchmarking a map insert operation + air::runner::execute_air: 4.21ms + preparation_step::preparation::parse_data: 165.00µs + serialize: 16.00µs + try_from_slice: 65.00µs preparation_step::preparation::prepare: 216.00µs - air::preparation_step::preparation::make_exec_ctx: 39.00µs - CallResultsRepr.deserialize: 10.00µs + air::preparation_step::preparation::make_exec_ctx: 40.00µs + CallResultsRepr.deserialize: 12.00µs air_parser::parser::air_parser::parse: 50.00µs - runner::execute: 1.95ms - runner::farewell: 436.00µs - from_success_result: 412.00µs - populate_outcome_from_contexts: 360.00µs - CallRequestsRepr.serialize: 13.00µs - InterpreterData::serialize: 179.00µs - signing_step::sign_produced_cids: 105.00µs - verification_step::verify: 401.00µs - verify: 68.00µs + runner::execute: 2.83ms + runner::farewell: 357.00µs + from_success_result: 334.00µs + populate_outcome_from_contexts: 298.00µs + air::farewell_step::outcome::CallRequestsRepr.serialize: 14.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 22.00µs + air_interpreter_data::interpreter_data::serialize: 62.00µs + signing_step::sign_produced_cids: 112.00µs + verification_step::verify: 398.00µs + verify: 24.00µs + populate-map-single-key (3.48ms; 52.938 MiB, 52.938 MiB): benchmarking a map insert operation + air::runner::execute_air: 3.48ms + preparation_step::preparation::parse_data: 166.00µs + serialize: 16.00µs + try_from_slice: 64.00µs + preparation_step::preparation::prepare: 209.00µs + air::preparation_step::preparation::make_exec_ctx: 41.00µs + CallResultsRepr.deserialize: 12.00µs + air_parser::parser::air_parser::parse: 45.00µs + runner::execute: 1.97ms + runner::farewell: 491.00µs + from_success_result: 464.00µs + populate_outcome_from_contexts: 407.00µs + air::farewell_step::outcome::CallRequestsRepr.serialize: 14.00µs + air::farewell_step::outcome::InterpreterDataEnv::serialize: 22.00µs + air_interpreter_data::interpreter_data::serialize: 89.00µs + signing_step::sign_produced_cids: 103.00µs + verification_step::verify: 402.00µs + verify: 40.00µs Machine c1f3ea5950db0a10b44da931c25774d64ab25084f47d504f72f311e694550ff1: Platform: macOS-12.0.1-x86_64-i386-64bit Timestamp: 2023-02-13 13:19:34.106863+00:00 diff --git a/junk/gen-bench-data/Cargo.toml b/junk/gen-bench-data/Cargo.toml index 614ace4d29..2915b651f0 100644 --- a/junk/gen-bench-data/Cargo.toml +++ b/junk/gen-bench-data/Cargo.toml @@ -21,3 +21,5 @@ itertools = "0.10.5" maplit = "1.0.2" serde_json = "1.0.97" serde = "1.0.165" +hex = "0.4.3" +rand = "0.8.5" diff --git a/junk/gen-bench-data/gen_benchmark_data.sh b/junk/gen-bench-data/gen_benchmark_data.sh index fef0325b83..6e63526d61 100755 --- a/junk/gen-bench-data/gen_benchmark_data.sh +++ b/junk/gen-bench-data/gen_benchmark_data.sh @@ -27,6 +27,11 @@ for bench in multiple-cids10 \ parser-10000-100 \ parser-calls-10000-100 \ null \ + lense-100mb \ + map-100mb \ + canon-map-100mb \ + call-result-100mb \ + parser-air-100mb \ ; do echo "Generating ${bench} ..." >&2 diff --git a/junk/gen-bench-data/src/main.rs b/junk/gen-bench-data/src/main.rs index 503146c252..1c7be87106 100644 --- a/junk/gen-bench-data/src/main.rs +++ b/junk/gen-bench-data/src/main.rs @@ -20,6 +20,8 @@ use std::path::PathBuf; const PARTICLE_ID: &str = "0123456789ABCDEF"; const MAX_STREAM_SIZE: usize = 1023; +const MB: usize = 1024 * 1024; +const SEED: u64 = 123456789; mod calls; mod cid_benchmarking; @@ -65,6 +67,16 @@ enum Bench { #[command(name = "parser-calls-10000-100")] ParserCalls10000_100, Null, + #[command(name = "lense-100mb")] + Lense100MB, + #[command(name = "map-100mb")] + Map100MB, + #[command(name = "canon-map-100mb")] + CanonMap100MB, + #[command(name = "call-result-100mb")] + CallResult100MB, + #[command(name = "parser-air-100mb")] + ParserAir100MB, } fn main() { @@ -96,6 +108,11 @@ fn main() { Bench::Parser10000_100 => parser_10000_100(), Bench::ParserCalls10000_100 => parser_calls(10000, 100), Bench::Null => null(), + Bench::CallResult100MB => mem_consumption_with_size_in_mb(100), + Bench::Lense100MB => mem_consumption_w_lense_with_size_in_mb(100), + Bench::Map100MB => mem_consumption_w_map_2_scalar_with_size_in_mb(100), + Bench::CanonMap100MB => mem_consumption_w_canon_map_with_size_in_mb(100), + Bench::ParserAir100MB => mem_consumption_air_100mb(280000, 10), }; save_data(&args.dest_dir, data).unwrap(); @@ -735,6 +752,250 @@ fn big_values_data() -> Data { } } +fn generate_random_data(random_data_size: usize) -> Vec { + use rand::rngs::StdRng; + use rand::Rng; + use rand::SeedableRng; + + // hex::encode later prints out every byte as 2 bytes sequence. + let random_data_size = random_data_size / 2 * MB; + + let mut rng = StdRng::seed_from_u64(SEED); + let mut random_data = vec![0u8; random_data_size]; + rng.fill(random_data.as_mut_slice()); + + random_data +} + +fn mem_consumption_with_size_in_mb(data_size: usize) -> Data { + let random_data = generate_random_data(data_size); + + let air_script = format!( + include_str!("mem_consumption_generic.air.tmpl"), + data = format_args!("\"{}\"", hex::encode(random_data)) + ); + + let exec = AirScriptExecutor::::new( + TestRunParameters::from_init_peer_id("init_peer_id").with_particle_id(PARTICLE_ID), + vec![], + vec![], + &air_script, + ) + .unwrap(); + + let keypair = exec + .get_network() + .get_named_peer_env("other_peer_id") + .expect("main peer") + .borrow() + .get_peer() + .get_keypair() + .clone(); + + let prev_res = exec.execute_one("init_peer_id").unwrap(); + + let peer_id: String = exec.resolve_name("other_peer_id").to_string(); + let init_peer_id: String = exec.resolve_name("init_peer_id").to_string(); + + Data { + air: exec.get_transformed_air_script().to_string(), + prev_data: vec![], + cur_data: prev_res.data, + params_json: hashmap! { + "comment".to_owned() => "benchmarking".to_owned(), + "particle-id".to_owned() => PARTICLE_ID.to_owned(), + "current-peer-id".to_owned() => peer_id.clone(), + "init-peer-id".to_owned() => init_peer_id, + }, + call_results: None, + keypair: bs58::encode(keypair.to_vec()).into_string(), + } +} + +fn mem_consumption_w_lense_with_size_in_mb(data_size: usize) -> Data { + let random_data = generate_random_data(data_size); + + let air_script = format!( + include_str!("mem_consumption_lense.air.tmpl"), + data = format_args!("{{\"attrib\": \"{}\"}}", hex::encode(random_data)) + ); + + let exec = AirScriptExecutor::::new( + TestRunParameters::from_init_peer_id("init_peer_id").with_particle_id(PARTICLE_ID), + vec![], + vec![], + &air_script, + ) + .unwrap(); + + let keypair = exec + .get_network() + .get_named_peer_env("other_peer_id") + .expect("main peer") + .borrow() + .get_peer() + .get_keypair() + .clone(); + + let prev_res = exec.execute_one("init_peer_id").unwrap(); + + let peer_id: String = exec.resolve_name("other_peer_id").to_string(); + let init_peer_id: String = exec.resolve_name("init_peer_id").to_string(); + + Data { + air: exec.get_transformed_air_script().to_string(), + prev_data: vec![], + cur_data: prev_res.data, + params_json: hashmap! { + "comment".to_owned() => "benchmarking".to_owned(), + "particle-id".to_owned() => PARTICLE_ID.to_owned(), + "current-peer-id".to_owned() => peer_id.clone(), + "init-peer-id".to_owned() => init_peer_id, + }, + call_results: None, + keypair: bs58::encode(keypair.to_vec()).into_string(), + } +} + +fn mem_consumption_w_map_2_scalar_with_size_in_mb(data_size: usize) -> Data { + let random_data = generate_random_data(data_size); + + let air_script = format!( + include_str!("mem_consumption_canon_map.air.tmpl"), + data = format_args!("\"{}\"", hex::encode(random_data)) + ); + + let exec = AirScriptExecutor::::new( + TestRunParameters::from_init_peer_id("init_peer_id").with_particle_id(PARTICLE_ID), + vec![], + vec![], + &air_script, + ) + .unwrap(); + + let keypair = exec + .get_network() + .get_named_peer_env("other_peer_id") + .expect("main peer") + .borrow() + .get_peer() + .get_keypair() + .clone(); + + let prev_res = exec.execute_one("init_peer_id").unwrap(); + + let peer_id: String = exec.resolve_name("other_peer_id").to_string(); + let init_peer_id: String = exec.resolve_name("init_peer_id").to_string(); + + Data { + air: exec.get_transformed_air_script().to_string(), + prev_data: vec![], + cur_data: prev_res.data, + params_json: hashmap! { + "comment".to_owned() => "benchmarking".to_owned(), + "particle-id".to_owned() => PARTICLE_ID.to_owned(), + "current-peer-id".to_owned() => peer_id.clone(), + "init-peer-id".to_owned() => init_peer_id, + }, + call_results: None, + keypair: bs58::encode(keypair.to_vec()).into_string(), + } +} + +fn mem_consumption_w_canon_map_with_size_in_mb(data_size: usize) -> Data { + let random_data = generate_random_data(data_size); + + let air_script = format!( + include_str!("mem_consumption_canon_map_2.air.tmpl"), + data = format_args!("\"{}\"", hex::encode(random_data)) + ); + + let exec = AirScriptExecutor::::new( + TestRunParameters::from_init_peer_id("init_peer_id").with_particle_id(PARTICLE_ID), + vec![], + vec![], + &air_script, + ) + .unwrap(); + + let keypair = exec + .get_network() + .get_named_peer_env("other_peer_id") + .expect("main peer") + .borrow() + .get_peer() + .get_keypair() + .clone(); + + let prev_res = exec.execute_one("init_peer_id").unwrap(); + + let peer_id: String = exec.resolve_name("other_peer_id").to_string(); + let init_peer_id: String = exec.resolve_name("init_peer_id").to_string(); + + Data { + air: exec.get_transformed_air_script().to_string(), + prev_data: vec![], + cur_data: prev_res.data, + params_json: hashmap! { + "comment".to_owned() => "benchmarking".to_owned(), + "particle-id".to_owned() => PARTICLE_ID.to_owned(), + "current-peer-id".to_owned() => peer_id.clone(), + "init-peer-id".to_owned() => init_peer_id, + }, + call_results: None, + keypair: bs58::encode(keypair.to_vec()).into_string(), + } +} + +fn mem_consumption_air_100mb(calls: usize, vars: usize) -> Data { + let (keypair, peer_id) = derive_dummy_keypair("init_peer_id"); + let particle_id = "particle_id"; + + let vars = (0..vars).map(|n| format!("var{}", n)).collect_vec(); + let init_var = vars[0].clone(); + let statements = vars + .iter() + .cycle() + .take(calls) + .tuple_windows() + .map(|(a, b)| format!(r#"(call {a} ("serv" "func") [] {b})"#)) + .collect_vec(); + + fn build_tree(statements: &[String]) -> String { + assert!(!statements.is_empty()); + if statements.len() == 1 { + statements[0].clone() + } else { + let mid = statements.len() / 2; + format!( + "(seq {} {})", + build_tree(&statements[..mid]), + build_tree(&statements[mid..]) + ) + } + } + + let tree = build_tree(&statements); + let air = format!( + r#"(seq (call "peer" ("serv" "func") [] {}) {})"#, + init_var, tree + ); + + Data { + air, + prev_data: vec![], + cur_data: vec![], + call_results: None, + keypair: bs58::encode(keypair.as_inner().to_vec()).into_string(), + params_json: hashmap! { + "comment".to_owned() => "multiple calls parser benchmark".to_owned(), + "particle-id".to_owned() => particle_id.to_owned(), + "current-peer-id".to_owned() => peer_id.clone(), + "init-peer-id".to_owned() => peer_id, + }, + } +} + fn parser_10000_100() -> Data { let air_script = include_str!("parser_10000_100.air"); diff --git a/junk/gen-bench-data/src/mem_consumption_canon_map.air.tmpl b/junk/gen-bench-data/src/mem_consumption_canon_map.air.tmpl new file mode 100644 index 0000000000..28863fd862 --- /dev/null +++ b/junk/gen-bench-data/src/mem_consumption_canon_map.air.tmpl @@ -0,0 +1,15 @@ +(seq + (call "init_peer_id" ("" "init") [] data) ; ok = [{data}] + (seq + (seq + (fold data unused + (seq + (ap ("key" unused) %map) + (next unused) + ) + ) + (canon "other_peer_id" %map new_data) + ) + (canon "init_peer_id" $data #$data) + ) +) diff --git a/junk/gen-bench-data/src/mem_consumption_canon_map_2.air.tmpl b/junk/gen-bench-data/src/mem_consumption_canon_map_2.air.tmpl new file mode 100644 index 0000000000..c98773cae7 --- /dev/null +++ b/junk/gen-bench-data/src/mem_consumption_canon_map_2.air.tmpl @@ -0,0 +1,15 @@ +(seq + (call "init_peer_id" ("" "init") [] data) ; ok = [{data}] + (seq + (seq + (fold data unused + (seq + (ap ("key" unused) %map) + (next unused) + ) + ) + (canon "other_peer_id" %map #%new_data) + ) + (canon "init_peer_id" $data #$new_data) + ) +) diff --git a/junk/gen-bench-data/src/mem_consumption_generic.air.tmpl b/junk/gen-bench-data/src/mem_consumption_generic.air.tmpl new file mode 100644 index 0000000000..1bfc500562 --- /dev/null +++ b/junk/gen-bench-data/src/mem_consumption_generic.air.tmpl @@ -0,0 +1,9 @@ +(seq + (call "init_peer_id" ("" "init") [] data) ; ok = [{data}] + (seq + (fold data unused + (next unused) + ) + (canon "other_peer_id" %map #%canon) + ) +) diff --git a/junk/gen-bench-data/src/mem_consumption_lense.air.tmpl b/junk/gen-bench-data/src/mem_consumption_lense.air.tmpl new file mode 100644 index 0000000000..bcfde07cfb --- /dev/null +++ b/junk/gen-bench-data/src/mem_consumption_lense.air.tmpl @@ -0,0 +1,12 @@ +(seq + (call "init_peer_id" ("" "init") [] data) ; ok = [{data}] + (seq + (fold data unused + (seq + (ap unused.$.attrib $data) + (next unused) + ) + ) + (canon "other_peer_id" $data #$data) + ) +)