generator now produces data for cid-related benchmarking

This commit is contained in:
Roman Nozdrin 2023-11-07 12:15:32 +00:00
parent 44737799a1
commit 87cff99c73
15 changed files with 598 additions and 381 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1197,6 +1197,53 @@
}, },
"88756ca30bfb93b0da6a64252adc98fc3e97e142c3b4970af3d2948fd66107b4": { "88756ca30bfb93b0da6a64252adc98fc3e97e142c3b4970af3d2948fd66107b4": {
"benches": { "benches": {
"big-values-data": {
"comment": "Loading a trace with huge values",
"memory_sizes": [
"61.750 MiB",
"61.750 MiB"
],
"stats": {
"air::runner::execute_air": {
"common_prefix": "air",
"duration": "20.00ms",
"nested": {
"preparation_step::preparation::parse_data": {
"common_prefix": "air_interpreter_data::interpreter_data::serde_json",
"duration": "13.60ms",
"nested": {
"from_slice": "13.55ms"
}
},
"preparation_step::preparation::prepare": {
"common_prefix": "",
"duration": "1.24ms",
"nested": {
"air::preparation_step::preparation::make_exec_ctx": "1.02ms",
"air_parser::parser::air_parser::parse": "17.00µs"
}
},
"runner::execute": "10.00µs",
"runner::farewell": {
"common_prefix": "air::farewell_step::outcome",
"duration": "4.93ms",
"nested": {
"from_success_result": {
"common_prefix": "air::farewell_step::outcome",
"duration": "4.91ms",
"nested": {
"populate_outcome_from_contexts": "4.87ms"
}
}
}
},
"signing_step::sign_produced_cids": "12.00µs",
"verification_step::verify": "9.00µs"
}
}
},
"total_time": "20.00ms"
},
"canon-map-key-by-lens": { "canon-map-key-by-lens": {
"comment": "benchmarking a map insert operation", "comment": "benchmarking a map insert operation",
"memory_sizes": [ "memory_sizes": [
@ -1206,43 +1253,43 @@
"stats": { "stats": {
"air::runner::execute_air": { "air::runner::execute_air": {
"common_prefix": "air", "common_prefix": "air",
"duration": "11.70ms", "duration": "10.90ms",
"nested": { "nested": {
"preparation_step::preparation::parse_data": { "preparation_step::preparation::parse_data": {
"common_prefix": "air_interpreter_data::interpreter_data::serde_json", "common_prefix": "air_interpreter_data::interpreter_data::serde_json",
"duration": "4.17ms", "duration": "4.00ms",
"nested": { "nested": {
"from_slice": "4.11ms" "from_slice": "3.96ms"
} }
}, },
"preparation_step::preparation::prepare": { "preparation_step::preparation::prepare": {
"common_prefix": "", "common_prefix": "",
"duration": "707.00µs", "duration": "613.00µs",
"nested": { "nested": {
"air::preparation_step::preparation::make_exec_ctx": "420.00µs", "air::preparation_step::preparation::make_exec_ctx": "348.00µs",
"air_parser::parser::air_parser::parse": "60.00µs" "air_parser::parser::air_parser::parse": "54.00µs"
} }
}, },
"runner::execute": "3.21ms", "runner::execute": "2.86ms",
"runner::farewell": { "runner::farewell": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "3.47ms", "duration": "3.23ms",
"nested": { "nested": {
"from_success_result": { "from_success_result": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "3.44ms", "duration": "3.20ms",
"nested": { "nested": {
"populate_outcome_from_contexts": "2.96ms" "populate_outcome_from_contexts": "2.78ms"
} }
} }
} }
}, },
"signing_step::sign_produced_cids": "10.00µs", "signing_step::sign_produced_cids": "10.00µs",
"verification_step::verify": "10.00µs" "verification_step::verify": "9.00µs"
} }
} }
}, },
"total_time": "11.70ms" "total_time": "10.90ms"
}, },
"canon-map-key-element-by-lens": { "canon-map-key-element-by-lens": {
"comment": "benchmarking a map insert operation", "comment": "benchmarking a map insert operation",
@ -1253,43 +1300,43 @@
"stats": { "stats": {
"air::runner::execute_air": { "air::runner::execute_air": {
"common_prefix": "air", "common_prefix": "air",
"duration": "11.00ms", "duration": "10.80ms",
"nested": { "nested": {
"preparation_step::preparation::parse_data": { "preparation_step::preparation::parse_data": {
"common_prefix": "air_interpreter_data::interpreter_data::serde_json", "common_prefix": "air_interpreter_data::interpreter_data::serde_json",
"duration": "4.14ms", "duration": "3.99ms",
"nested": { "nested": {
"from_slice": "4.09ms" "from_slice": "3.95ms"
} }
}, },
"preparation_step::preparation::prepare": { "preparation_step::preparation::prepare": {
"common_prefix": "", "common_prefix": "",
"duration": "613.00µs", "duration": "634.00µs",
"nested": { "nested": {
"air::preparation_step::preparation::make_exec_ctx": "347.00µs", "air::preparation_step::preparation::make_exec_ctx": "364.00µs",
"air_parser::parser::air_parser::parse": "56.00µs" "air_parser::parser::air_parser::parse": "57.00µs"
} }
}, },
"runner::execute": "2.86ms", "runner::execute": "2.80ms",
"runner::farewell": { "runner::farewell": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "3.28ms", "duration": "3.20ms",
"nested": { "nested": {
"from_success_result": { "from_success_result": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "3.25ms", "duration": "3.17ms",
"nested": { "nested": {
"populate_outcome_from_contexts": "2.86ms" "populate_outcome_from_contexts": "2.76ms"
} }
} }
} }
}, },
"signing_step::sign_produced_cids": "10.00µs", "signing_step::sign_produced_cids": "9.00µs",
"verification_step::verify": "9.00µs" "verification_step::verify": "9.00µs"
} }
} }
}, },
"total_time": "11.00ms" "total_time": "10.80ms"
}, },
"canon-map-multiple-keys": { "canon-map-multiple-keys": {
"comment": "benchmarking a map insert operation", "comment": "benchmarking a map insert operation",
@ -1300,43 +1347,43 @@
"stats": { "stats": {
"air::runner::execute_air": { "air::runner::execute_air": {
"common_prefix": "air", "common_prefix": "air",
"duration": "15.60ms", "duration": "14.70ms",
"nested": { "nested": {
"preparation_step::preparation::parse_data": { "preparation_step::preparation::parse_data": {
"common_prefix": "air_interpreter_data::interpreter_data::serde_json", "common_prefix": "air_interpreter_data::interpreter_data::serde_json",
"duration": "351.00µs", "duration": "349.00µs",
"nested": { "nested": {
"from_slice": "308.00µs" "from_slice": "307.00µs"
} }
}, },
"preparation_step::preparation::prepare": { "preparation_step::preparation::prepare": {
"common_prefix": "", "common_prefix": "",
"duration": "275.00µs", "duration": "270.00µs",
"nested": { "nested": {
"air::preparation_step::preparation::make_exec_ctx": "16.00µs", "air::preparation_step::preparation::make_exec_ctx": "16.00µs",
"air_parser::parser::air_parser::parse": "46.00µs" "air_parser::parser::air_parser::parse": "44.00µs"
} }
}, },
"runner::execute": "12.00ms", "runner::execute": "11.20ms",
"runner::farewell": { "runner::farewell": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "2.87ms", "duration": "2.70ms",
"nested": { "nested": {
"from_success_result": { "from_success_result": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "2.84ms", "duration": "2.67ms",
"nested": { "nested": {
"populate_outcome_from_contexts": "2.46ms" "populate_outcome_from_contexts": "2.32ms"
} }
} }
} }
}, },
"signing_step::sign_produced_cids": "11.00µs", "signing_step::sign_produced_cids": "10.00µs",
"verification_step::verify": "8.00µs" "verification_step::verify": "9.00µs"
} }
} }
}, },
"total_time": "15.60ms" "total_time": "14.70ms"
}, },
"canon-map-scalar-multiple-keys": { "canon-map-scalar-multiple-keys": {
"comment": "benchmarking a map insert operation", "comment": "benchmarking a map insert operation",
@ -1347,33 +1394,33 @@
"stats": { "stats": {
"air::runner::execute_air": { "air::runner::execute_air": {
"common_prefix": "air", "common_prefix": "air",
"duration": "4.60ms", "duration": "4.66ms",
"nested": { "nested": {
"preparation_step::preparation::parse_data": { "preparation_step::preparation::parse_data": {
"common_prefix": "air_interpreter_data::interpreter_data::serde_json", "common_prefix": "air_interpreter_data::interpreter_data::serde_json",
"duration": "346.00µs", "duration": "350.00µs",
"nested": { "nested": {
"from_slice": "304.00µs" "from_slice": "306.00µs"
} }
}, },
"preparation_step::preparation::prepare": { "preparation_step::preparation::prepare": {
"common_prefix": "", "common_prefix": "",
"duration": "268.00µs", "duration": "266.00µs",
"nested": { "nested": {
"air::preparation_step::preparation::make_exec_ctx": "16.00µs", "air::preparation_step::preparation::make_exec_ctx": "16.00µs",
"air_parser::parser::air_parser::parse": "45.00µs" "air_parser::parser::air_parser::parse": "42.00µs"
} }
}, },
"runner::execute": "3.34ms", "runner::execute": "3.38ms",
"runner::farewell": { "runner::farewell": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "502.00µs", "duration": "516.00µs",
"nested": { "nested": {
"from_success_result": { "from_success_result": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "478.00µs", "duration": "493.00µs",
"nested": { "nested": {
"populate_outcome_from_contexts": "432.00µs" "populate_outcome_from_contexts": "447.00µs"
} }
} }
} }
@ -1383,7 +1430,7 @@
} }
} }
}, },
"total_time": "4.60ms" "total_time": "4.66ms"
}, },
"canon-map-scalar-single-key": { "canon-map-scalar-single-key": {
"comment": "benchmarking a map insert operation", "comment": "benchmarking a map insert operation",
@ -1394,7 +1441,7 @@
"stats": { "stats": {
"air::runner::execute_air": { "air::runner::execute_air": {
"common_prefix": "air", "common_prefix": "air",
"duration": "3.65ms", "duration": "3.63ms",
"nested": { "nested": {
"preparation_step::preparation::parse_data": { "preparation_step::preparation::parse_data": {
"common_prefix": "air_interpreter_data::interpreter_data::serde_json", "common_prefix": "air_interpreter_data::interpreter_data::serde_json",
@ -1411,16 +1458,16 @@
"air_parser::parser::air_parser::parse": "39.00µs" "air_parser::parser::air_parser::parse": "39.00µs"
} }
}, },
"runner::execute": "2.39ms", "runner::execute": "2.36ms",
"runner::farewell": { "runner::farewell": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "497.00µs", "duration": "505.00µs",
"nested": { "nested": {
"from_success_result": { "from_success_result": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "474.00µs", "duration": "483.00µs",
"nested": { "nested": {
"populate_outcome_from_contexts": "417.00µs" "populate_outcome_from_contexts": "423.00µs"
} }
} }
} }
@ -1430,7 +1477,7 @@
} }
} }
}, },
"total_time": "3.65ms" "total_time": "3.63ms"
}, },
"canon-map-single-key": { "canon-map-single-key": {
"comment": "benchmarking a map insert operation", "comment": "benchmarking a map insert operation",
@ -1441,43 +1488,43 @@
"stats": { "stats": {
"air::runner::execute_air": { "air::runner::execute_air": {
"common_prefix": "air", "common_prefix": "air",
"duration": "13.00ms", "duration": "12.30ms",
"nested": { "nested": {
"preparation_step::preparation::parse_data": { "preparation_step::preparation::parse_data": {
"common_prefix": "air_interpreter_data::interpreter_data::serde_json", "common_prefix": "air_interpreter_data::interpreter_data::serde_json",
"duration": "361.00µs", "duration": "361.00µs",
"nested": { "nested": {
"from_slice": "320.00µs" "from_slice": "321.00µs"
} }
}, },
"preparation_step::preparation::prepare": { "preparation_step::preparation::prepare": {
"common_prefix": "", "common_prefix": "",
"duration": "261.00µs", "duration": "265.00µs",
"nested": { "nested": {
"air::preparation_step::preparation::make_exec_ctx": "16.00µs", "air::preparation_step::preparation::make_exec_ctx": "16.00µs",
"air_parser::parser::air_parser::parse": "39.00µs" "air_parser::parser::air_parser::parse": "41.00µs"
} }
}, },
"runner::execute": "8.91ms", "runner::execute": "8.60ms",
"runner::farewell": { "runner::farewell": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "3.25ms", "duration": "2.93ms",
"nested": { "nested": {
"from_success_result": { "from_success_result": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "3.22ms", "duration": "2.90ms",
"nested": { "nested": {
"populate_outcome_from_contexts": "2.92ms" "populate_outcome_from_contexts": "2.63ms"
} }
} }
} }
}, },
"signing_step::sign_produced_cids": "11.00µs", "signing_step::sign_produced_cids": "10.00µs",
"verification_step::verify": "9.00µs" "verification_step::verify": "9.00µs"
} }
} }
}, },
"total_time": "13.00ms" "total_time": "12.30ms"
}, },
"dashboard": { "dashboard": {
"comment": "big dashboard test", "comment": "big dashboard test",
@ -1488,18 +1535,18 @@
"stats": { "stats": {
"air::runner::execute_air": { "air::runner::execute_air": {
"common_prefix": "air", "common_prefix": "air",
"duration": "4.94ms", "duration": "4.84ms",
"nested": { "nested": {
"preparation_step::preparation::parse_data": { "preparation_step::preparation::parse_data": {
"common_prefix": "air_interpreter_data::interpreter_data::serde_json", "common_prefix": "air_interpreter_data::interpreter_data::serde_json",
"duration": "1.49ms", "duration": "1.43ms",
"nested": { "nested": {
"from_slice": "1.43ms" "from_slice": "1.37ms"
} }
}, },
"preparation_step::preparation::prepare": { "preparation_step::preparation::prepare": {
"common_prefix": "", "common_prefix": "",
"duration": "381.00µs", "duration": "382.00µs",
"nested": { "nested": {
"air::preparation_step::preparation::make_exec_ctx": "40.00µs", "air::preparation_step::preparation::make_exec_ctx": "40.00µs",
"air_parser::parser::air_parser::parse": "132.00µs" "air_parser::parser::air_parser::parse": "132.00µs"
@ -1507,9 +1554,9 @@
}, },
"runner::execute": { "runner::execute": {
"common_prefix": "air::execution_step::instructions::call::resolved_call::serde_json", "common_prefix": "air::execution_step::instructions::call::resolved_call::serde_json",
"duration": "2.33ms", "duration": "2.27ms",
"nested": { "nested": {
"to_string(tetraplets)": "455.00µs" "to_string(tetraplets)": "443.00µs"
} }
}, },
"runner::farewell": { "runner::farewell": {
@ -1518,19 +1565,66 @@
"nested": { "nested": {
"from_success_result": { "from_success_result": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "592.00µs", "duration": "591.00µs",
"nested": { "nested": {
"populate_outcome_from_contexts": "537.00µs" "populate_outcome_from_contexts": "534.00µs"
} }
} }
} }
}, },
"signing_step::sign_produced_cids": "9.00µs", "signing_step::sign_produced_cids": "9.00µs",
"verification_step::verify": "8.00µs" "verification_step::verify": "9.00µs"
} }
} }
}, },
"total_time": "4.94ms" "total_time": "4.84ms"
},
"long-data": {
"comment": "Long data trace",
"memory_sizes": [
"54.000 MiB",
"54.000 MiB"
],
"stats": {
"air::runner::execute_air": {
"common_prefix": "air",
"duration": "6.87ms",
"nested": {
"preparation_step::preparation::parse_data": {
"common_prefix": "air_interpreter_data::interpreter_data::serde_json",
"duration": "4.80ms",
"nested": {
"from_slice": "4.74ms"
}
},
"preparation_step::preparation::prepare": {
"common_prefix": "",
"duration": "611.00µs",
"nested": {
"air::preparation_step::preparation::make_exec_ctx": "386.00µs",
"air_parser::parser::air_parser::parse": "17.00µs"
}
},
"runner::execute": "10.00µs",
"runner::farewell": {
"common_prefix": "air::farewell_step::outcome",
"duration": "1.30ms",
"nested": {
"from_success_result": {
"common_prefix": "air::farewell_step::outcome",
"duration": "1.28ms",
"nested": {
"populate_outcome_from_contexts": "1.24ms"
}
}
}
},
"signing_step::sign_produced_cids": "8.00µs",
"verification_step::verify": "9.00µs"
}
}
},
"total_time": "6.87ms"
}, },
"multiple-cids10": { "multiple-cids10": {
"comment": "verifying multiple CIDs for single peer", "comment": "verifying multiple CIDs for single peer",
@ -1541,49 +1635,49 @@
"stats": { "stats": {
"air::runner::execute_air": { "air::runner::execute_air": {
"common_prefix": "air", "common_prefix": "air",
"duration": "2.40ms", "duration": "2.02ms",
"nested": { "nested": {
"preparation_step::preparation::parse_data": { "preparation_step::preparation::parse_data": {
"common_prefix": "air_interpreter_data::interpreter_data::serde_json", "common_prefix": "air_interpreter_data::interpreter_data::serde_json",
"duration": "563.00µs", "duration": "488.00µs",
"nested": { "nested": {
"from_slice": "474.00µs" "from_slice": "428.00µs"
} }
}, },
"preparation_step::preparation::prepare": { "preparation_step::preparation::prepare": {
"common_prefix": "", "common_prefix": "",
"duration": "325.00µs", "duration": "283.00µs",
"nested": { "nested": {
"air::preparation_step::preparation::make_exec_ctx": "41.00µs", "air::preparation_step::preparation::make_exec_ctx": "33.00µs",
"air_parser::parser::air_parser::parse": "50.00µs" "air_parser::parser::air_parser::parse": "43.00µs"
} }
}, },
"runner::execute": { "runner::execute": {
"common_prefix": "air::execution_step::instructions::call::resolved_call::serde_json", "common_prefix": "air::execution_step::instructions::call::resolved_call::serde_json",
"duration": "740.00µs", "duration": "605.00µs",
"nested": { "nested": {
"to_string(tetraplets)": "20.00µs" "to_string(tetraplets)": "14.00µs"
} }
}, },
"runner::farewell": { "runner::farewell": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "626.00µs", "duration": "520.00µs",
"nested": { "nested": {
"from_success_result": { "from_success_result": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "601.00µs", "duration": "497.00µs",
"nested": { "nested": {
"populate_outcome_from_contexts": "512.00µs" "populate_outcome_from_contexts": "437.00µs"
} }
} }
} }
}, },
"signing_step::sign_produced_cids": "13.00µs", "signing_step::sign_produced_cids": "8.00µs",
"verification_step::verify": "10.00µs" "verification_step::verify": "9.00µs"
} }
} }
}, },
"total_time": "2.40ms" "total_time": "2.02ms"
}, },
"multiple-peers8": { "multiple-peers8": {
"comment": "verifying many CIDs for many peers", "comment": "verifying many CIDs for many peers",
@ -1594,49 +1688,49 @@
"stats": { "stats": {
"air::runner::execute_air": { "air::runner::execute_air": {
"common_prefix": "air", "common_prefix": "air",
"duration": "9.19ms", "duration": "7.93ms",
"nested": { "nested": {
"preparation_step::preparation::parse_data": { "preparation_step::preparation::parse_data": {
"common_prefix": "air_interpreter_data::interpreter_data::serde_json", "common_prefix": "air_interpreter_data::interpreter_data::serde_json",
"duration": "2.39ms", "duration": "1.84ms",
"nested": { "nested": {
"from_slice": "2.29ms" "from_slice": "1.78ms"
} }
}, },
"preparation_step::preparation::prepare": { "preparation_step::preparation::prepare": {
"common_prefix": "", "common_prefix": "",
"duration": "400.00µs", "duration": "375.00µs",
"nested": { "nested": {
"air::preparation_step::preparation::make_exec_ctx": "126.00µs", "air::preparation_step::preparation::make_exec_ctx": "116.00µs",
"air_parser::parser::air_parser::parse": "54.00µs" "air_parser::parser::air_parser::parse": "49.00µs"
} }
}, },
"runner::execute": { "runner::execute": {
"common_prefix": "air::execution_step::instructions::call::resolved_call::serde_json", "common_prefix": "air::execution_step::instructions::call::resolved_call::serde_json",
"duration": "4.67ms", "duration": "4.21ms",
"nested": { "nested": {
"to_string(tetraplets)": "34.00µs" "to_string(tetraplets)": "17.00µs"
} }
}, },
"runner::farewell": { "runner::farewell": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "1.54ms", "duration": "1.37ms",
"nested": { "nested": {
"from_success_result": { "from_success_result": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "1.51ms", "duration": "1.34ms",
"nested": { "nested": {
"populate_outcome_from_contexts": "1.37ms" "populate_outcome_from_contexts": "1.21ms"
} }
} }
} }
}, },
"signing_step::sign_produced_cids": "10.00µs", "signing_step::sign_produced_cids": "10.00µs",
"verification_step::verify": "18.00µs" "verification_step::verify": "9.00µs"
} }
} }
}, },
"total_time": "9.19ms" "total_time": "7.93ms"
}, },
"multiple-sigs30": { "multiple-sigs30": {
"comment": "signing multiple CIDs", "comment": "signing multiple CIDs",
@ -1647,43 +1741,43 @@
"stats": { "stats": {
"air::runner::execute_air": { "air::runner::execute_air": {
"common_prefix": "air", "common_prefix": "air",
"duration": "23.00ms", "duration": "22.90ms",
"nested": { "nested": {
"preparation_step::preparation::parse_data": { "preparation_step::preparation::parse_data": {
"common_prefix": "air_interpreter_data::interpreter_data::serde_json", "common_prefix": "air_interpreter_data::interpreter_data::serde_json",
"duration": "5.07ms", "duration": "4.96ms",
"nested": { "nested": {
"from_slice": "5.00ms" "from_slice": "4.90ms"
} }
}, },
"preparation_step::preparation::prepare": { "preparation_step::preparation::prepare": {
"common_prefix": "", "common_prefix": "",
"duration": "495.00µs", "duration": "499.00µs",
"nested": { "nested": {
"air::preparation_step::preparation::make_exec_ctx": "237.00µs", "air::preparation_step::preparation::make_exec_ctx": "233.00µs",
"air_parser::parser::air_parser::parse": "49.00µs" "air_parser::parser::air_parser::parse": "51.00µs"
} }
}, },
"runner::execute": "13.00ms", "runner::execute": "13.10ms",
"runner::farewell": { "runner::farewell": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "4.28ms", "duration": "4.25ms",
"nested": { "nested": {
"from_success_result": { "from_success_result": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "4.25ms", "duration": "4.23ms",
"nested": { "nested": {
"populate_outcome_from_contexts": "4.05ms" "populate_outcome_from_contexts": "4.03ms"
} }
} }
} }
}, },
"signing_step::sign_produced_cids": "9.00µs", "signing_step::sign_produced_cids": "10.00µs",
"verification_step::verify": "9.00µs" "verification_step::verify": "9.00µs"
} }
} }
}, },
"total_time": "23.00ms" "total_time": "22.90ms"
}, },
"network-explore": { "network-explore": {
"comment": "5 peers of network are discovered", "comment": "5 peers of network are discovered",
@ -1694,49 +1788,49 @@
"stats": { "stats": {
"air::runner::execute_air": { "air::runner::execute_air": {
"common_prefix": "air", "common_prefix": "air",
"duration": "1.89ms", "duration": "1.65ms",
"nested": { "nested": {
"preparation_step::preparation::parse_data": { "preparation_step::preparation::parse_data": {
"common_prefix": "air_interpreter_data::interpreter_data::serde_json", "common_prefix": "air_interpreter_data::interpreter_data::serde_json",
"duration": "822.00µs", "duration": "655.00µs",
"nested": { "nested": {
"from_slice": "748.00µs" "from_slice": "596.00µs"
} }
}, },
"preparation_step::preparation::prepare": { "preparation_step::preparation::prepare": {
"common_prefix": "", "common_prefix": "",
"duration": "336.00µs", "duration": "313.00µs",
"nested": { "nested": {
"air::preparation_step::preparation::make_exec_ctx": "30.00µs", "air::preparation_step::preparation::make_exec_ctx": "22.00µs",
"air_parser::parser::air_parser::parse": "78.00µs" "air_parser::parser::air_parser::parse": "80.00µs"
} }
}, },
"runner::execute": { "runner::execute": {
"common_prefix": "air::execution_step::instructions::call::resolved_call::serde_json", "common_prefix": "air::execution_step::instructions::call::resolved_call::serde_json",
"duration": "205.00µs", "duration": "193.00µs",
"nested": { "nested": {
"to_string(tetraplets)": "13.00µs" "to_string(tetraplets)": "14.00µs"
} }
}, },
"runner::farewell": { "runner::farewell": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "359.00µs", "duration": "354.00µs",
"nested": { "nested": {
"from_success_result": { "from_success_result": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "335.00µs", "duration": "332.00µs",
"nested": { "nested": {
"populate_outcome_from_contexts": "286.00µs" "populate_outcome_from_contexts": "283.00µs"
} }
} }
} }
}, },
"signing_step::sign_produced_cids": "17.00µs", "signing_step::sign_produced_cids": "9.00µs",
"verification_step::verify": "9.00µs" "verification_step::verify": "8.00µs"
} }
} }
}, },
"total_time": "1.89ms" "total_time": "1.65ms"
}, },
"populate-map": { "populate-map": {
"comment": "benchmarking a map insert operation", "comment": "benchmarking a map insert operation",
@ -1794,13 +1888,13 @@
"stats": { "stats": {
"air::runner::execute_air": { "air::runner::execute_air": {
"common_prefix": "air", "common_prefix": "air",
"duration": "3.74ms", "duration": "3.79ms",
"nested": { "nested": {
"preparation_step::preparation::parse_data": { "preparation_step::preparation::parse_data": {
"common_prefix": "air_interpreter_data::interpreter_data::serde_json", "common_prefix": "air_interpreter_data::interpreter_data::serde_json",
"duration": "131.00µs", "duration": "134.00µs",
"nested": { "nested": {
"from_slice": "92.00µs" "from_slice": "93.00µs"
} }
}, },
"preparation_step::preparation::prepare": { "preparation_step::preparation::prepare": {
@ -1811,16 +1905,16 @@
"air_parser::parser::air_parser::parse": "47.00µs" "air_parser::parser::air_parser::parse": "47.00µs"
} }
}, },
"runner::execute": "2.79ms", "runner::execute": "2.83ms",
"runner::farewell": { "runner::farewell": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "409.00µs", "duration": "415.00µs",
"nested": { "nested": {
"from_success_result": { "from_success_result": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "387.00µs", "duration": "392.00µs",
"nested": { "nested": {
"populate_outcome_from_contexts": "346.00µs" "populate_outcome_from_contexts": "351.00µs"
} }
} }
} }
@ -1830,7 +1924,7 @@
} }
} }
}, },
"total_time": "3.74ms" "total_time": "3.79ms"
}, },
"populate-map-single-key": { "populate-map-single-key": {
"comment": "benchmarking a map insert operation", "comment": "benchmarking a map insert operation",
@ -1841,48 +1935,48 @@
"stats": { "stats": {
"air::runner::execute_air": { "air::runner::execute_air": {
"common_prefix": "air", "common_prefix": "air",
"duration": "2.93ms", "duration": "3.00ms",
"nested": { "nested": {
"preparation_step::preparation::parse_data": { "preparation_step::preparation::parse_data": {
"common_prefix": "air_interpreter_data::interpreter_data::serde_json", "common_prefix": "air_interpreter_data::interpreter_data::serde_json",
"duration": "189.00µs", "duration": "192.00µs",
"nested": { "nested": {
"from_slice": "149.00µs" "from_slice": "150.00µs"
} }
}, },
"preparation_step::preparation::prepare": { "preparation_step::preparation::prepare": {
"common_prefix": "", "common_prefix": "",
"duration": "271.00µs", "duration": "269.00µs",
"nested": { "nested": {
"air::preparation_step::preparation::make_exec_ctx": "16.00µs", "air::preparation_step::preparation::make_exec_ctx": "16.00µs",
"air_parser::parser::air_parser::parse": "43.00µs" "air_parser::parser::air_parser::parse": "44.00µs"
} }
}, },
"runner::execute": "1.91ms", "runner::execute": "1.95ms",
"runner::farewell": { "runner::farewell": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "429.00µs", "duration": "443.00µs",
"nested": { "nested": {
"from_success_result": { "from_success_result": {
"common_prefix": "air::farewell_step::outcome", "common_prefix": "air::farewell_step::outcome",
"duration": "407.00µs", "duration": "420.00µs",
"nested": { "nested": {
"populate_outcome_from_contexts": "353.00µs" "populate_outcome_from_contexts": "359.00µs"
} }
} }
} }
}, },
"signing_step::sign_produced_cids": "10.00µs", "signing_step::sign_produced_cids": "9.00µs",
"verification_step::verify": "9.00µs" "verification_step::verify": "9.00µs"
} }
} }
}, },
"total_time": "2.93ms" "total_time": "3.00ms"
} }
}, },
"datetime": "2023-10-25 14:44:11.396894+00:00", "datetime": "2023-11-07 12:11:42.870445+00:00",
"features": "", "features": "",
"platform": "Linux-6.5.3-arch1-1-x86_64-with-glibc2.35", "platform": "Linux-6.5.9-arch2-1-x86_64-with-glibc2.35",
"version": "0.53.0" "version": "0.53.0"
}, },
"c1f3ea5950db0a10b44da931c25774d64ab25084f47d504f72f311e694550ff1": { "c1f3ea5950db0a10b44da931c25774d64ab25084f47d504f72f311e694550ff1": {

View File

@ -327,158 +327,184 @@ Machine 62dabcde478dc58760ebbe71ef6047299144a5f63990c6c3d826ebf30175adfc:
execute: 42.00µs execute: 42.00µs
new: 42.00µs new: 42.00µs
Machine 88756ca30bfb93b0da6a64252adc98fc3e97e142c3b4970af3d2948fd66107b4: Machine 88756ca30bfb93b0da6a64252adc98fc3e97e142c3b4970af3d2948fd66107b4:
Platform: Linux-6.5.3-arch1-1-x86_64-with-glibc2.35 Platform: Linux-6.5.9-arch2-1-x86_64-with-glibc2.35
Timestamp: 2023-10-25 14:44:11.396894+00:00 Timestamp: 2023-11-07 12:11:42.870445+00:00
AquaVM version: 0.53.0 AquaVM version: 0.53.0
Benches: Benches:
Features: Features:
canon-map-key-by-lens (11.70ms; 55.625 MiB, 55.625 MiB): benchmarking a map insert operation big-values-data (20.00ms; 61.750 MiB, 61.750 MiB): Loading a trace with huge values
air::runner::execute_air: 11.70ms air::runner::execute_air: 20.00ms
preparation_step::preparation::parse_data: 4.17ms preparation_step::preparation::parse_data: 13.60ms
from_slice: 4.11ms from_slice: 13.55ms
preparation_step::preparation::prepare: 707.00µs preparation_step::preparation::prepare: 1.24ms
air::preparation_step::preparation::make_exec_ctx: 420.00µs air::preparation_step::preparation::make_exec_ctx: 1.02ms
air_parser::parser::air_parser::parse: 60.00µs air_parser::parser::air_parser::parse: 17.00µs
runner::execute: 3.21ms runner::execute: 10.00µs
runner::farewell: 3.47ms runner::farewell: 4.93ms
from_success_result: 3.44ms from_success_result: 4.91ms
populate_outcome_from_contexts: 2.96ms populate_outcome_from_contexts: 4.87ms
signing_step::sign_produced_cids: 10.00µs signing_step::sign_produced_cids: 12.00µs
verification_step::verify: 10.00µs verification_step::verify: 9.00µs
canon-map-key-element-by-lens (11.00ms; 55.625 MiB, 55.625 MiB): benchmarking a map insert operation canon-map-key-by-lens (10.90ms; 55.625 MiB, 55.625 MiB): benchmarking a map insert operation
air::runner::execute_air: 11.00ms air::runner::execute_air: 10.90ms
preparation_step::preparation::parse_data: 4.14ms preparation_step::preparation::parse_data: 4.00ms
from_slice: 4.09ms from_slice: 3.96ms
preparation_step::preparation::prepare: 613.00µs preparation_step::preparation::prepare: 613.00µs
air::preparation_step::preparation::make_exec_ctx: 347.00µs air::preparation_step::preparation::make_exec_ctx: 348.00µs
air_parser::parser::air_parser::parse: 56.00µs air_parser::parser::air_parser::parse: 54.00µs
runner::execute: 2.86ms runner::execute: 2.86ms
runner::farewell: 3.28ms runner::farewell: 3.23ms
from_success_result: 3.25ms from_success_result: 3.20ms
populate_outcome_from_contexts: 2.86ms populate_outcome_from_contexts: 2.78ms
signing_step::sign_produced_cids: 10.00µs signing_step::sign_produced_cids: 10.00µs
verification_step::verify: 9.00µs verification_step::verify: 9.00µs
canon-map-multiple-keys (15.60ms; 53.500 MiB, 53.500 MiB): benchmarking a map insert operation canon-map-key-element-by-lens (10.80ms; 55.625 MiB, 55.625 MiB): benchmarking a map insert operation
air::runner::execute_air: 15.60ms air::runner::execute_air: 10.80ms
preparation_step::preparation::parse_data: 351.00µs preparation_step::preparation::parse_data: 3.99ms
from_slice: 308.00µs from_slice: 3.95ms
preparation_step::preparation::prepare: 275.00µs preparation_step::preparation::prepare: 634.00µs
air::preparation_step::preparation::make_exec_ctx: 364.00µs
air_parser::parser::air_parser::parse: 57.00µs
runner::execute: 2.80ms
runner::farewell: 3.20ms
from_success_result: 3.17ms
populate_outcome_from_contexts: 2.76ms
signing_step::sign_produced_cids: 9.00µs
verification_step::verify: 9.00µs
canon-map-multiple-keys (14.70ms; 53.500 MiB, 53.500 MiB): benchmarking a map insert operation
air::runner::execute_air: 14.70ms
preparation_step::preparation::parse_data: 349.00µs
from_slice: 307.00µs
preparation_step::preparation::prepare: 270.00µs
air::preparation_step::preparation::make_exec_ctx: 16.00µs air::preparation_step::preparation::make_exec_ctx: 16.00µs
air_parser::parser::air_parser::parse: 46.00µs air_parser::parser::air_parser::parse: 44.00µs
runner::execute: 12.00ms runner::execute: 11.20ms
runner::farewell: 2.87ms runner::farewell: 2.70ms
from_success_result: 2.84ms from_success_result: 2.67ms
populate_outcome_from_contexts: 2.46ms populate_outcome_from_contexts: 2.32ms
signing_step::sign_produced_cids: 11.00µs
verification_step::verify: 8.00µs
canon-map-scalar-multiple-keys (4.60ms; 52.125 MiB, 52.125 MiB): benchmarking a map insert operation
air::runner::execute_air: 4.60ms
preparation_step::preparation::parse_data: 346.00µs
from_slice: 304.00µs
preparation_step::preparation::prepare: 268.00µs
air::preparation_step::preparation::make_exec_ctx: 16.00µs
air_parser::parser::air_parser::parse: 45.00µs
runner::execute: 3.34ms
runner::farewell: 502.00µs
from_success_result: 478.00µs
populate_outcome_from_contexts: 432.00µs
signing_step::sign_produced_cids: 10.00µs signing_step::sign_produced_cids: 10.00µs
verification_step::verify: 9.00µs verification_step::verify: 9.00µs
canon-map-scalar-single-key (3.65ms; 52.000 MiB, 52.000 MiB): benchmarking a map insert operation canon-map-scalar-multiple-keys (4.66ms; 52.125 MiB, 52.125 MiB): benchmarking a map insert operation
air::runner::execute_air: 3.65ms air::runner::execute_air: 4.66ms
preparation_step::preparation::parse_data: 350.00µs
from_slice: 306.00µs
preparation_step::preparation::prepare: 266.00µs
air::preparation_step::preparation::make_exec_ctx: 16.00µs
air_parser::parser::air_parser::parse: 42.00µs
runner::execute: 3.38ms
runner::farewell: 516.00µs
from_success_result: 493.00µs
populate_outcome_from_contexts: 447.00µs
signing_step::sign_produced_cids: 10.00µs
verification_step::verify: 9.00µs
canon-map-scalar-single-key (3.63ms; 52.000 MiB, 52.000 MiB): benchmarking a map insert operation
air::runner::execute_air: 3.63ms
preparation_step::preparation::parse_data: 362.00µs preparation_step::preparation::parse_data: 362.00µs
from_slice: 320.00µs from_slice: 320.00µs
preparation_step::preparation::prepare: 262.00µs preparation_step::preparation::prepare: 262.00µs
air::preparation_step::preparation::make_exec_ctx: 16.00µs air::preparation_step::preparation::make_exec_ctx: 16.00µs
air_parser::parser::air_parser::parse: 39.00µs air_parser::parser::air_parser::parse: 39.00µs
runner::execute: 2.39ms runner::execute: 2.36ms
runner::farewell: 497.00µs runner::farewell: 505.00µs
from_success_result: 474.00µs from_success_result: 483.00µs
populate_outcome_from_contexts: 417.00µs populate_outcome_from_contexts: 423.00µs
signing_step::sign_produced_cids: 10.00µs signing_step::sign_produced_cids: 10.00µs
verification_step::verify: 9.00µs verification_step::verify: 9.00µs
canon-map-single-key (13.00ms; 54.250 MiB, 54.250 MiB): benchmarking a map insert operation canon-map-single-key (12.30ms; 54.250 MiB, 54.250 MiB): benchmarking a map insert operation
air::runner::execute_air: 13.00ms air::runner::execute_air: 12.30ms
preparation_step::preparation::parse_data: 361.00µs preparation_step::preparation::parse_data: 361.00µs
from_slice: 320.00µs from_slice: 321.00µs
preparation_step::preparation::prepare: 261.00µs preparation_step::preparation::prepare: 265.00µs
air::preparation_step::preparation::make_exec_ctx: 16.00µs air::preparation_step::preparation::make_exec_ctx: 16.00µs
air_parser::parser::air_parser::parse: 39.00µs air_parser::parser::air_parser::parse: 41.00µs
runner::execute: 8.91ms runner::execute: 8.60ms
runner::farewell: 3.25ms runner::farewell: 2.93ms
from_success_result: 3.22ms from_success_result: 2.90ms
populate_outcome_from_contexts: 2.92ms populate_outcome_from_contexts: 2.63ms
signing_step::sign_produced_cids: 11.00µs signing_step::sign_produced_cids: 10.00µs
verification_step::verify: 9.00µs verification_step::verify: 9.00µs
dashboard (4.94ms; 51.562 MiB, 51.562 MiB): big dashboard test dashboard (4.84ms; 51.562 MiB, 51.562 MiB): big dashboard test
air::runner::execute_air: 4.94ms air::runner::execute_air: 4.84ms
preparation_step::preparation::parse_data: 1.49ms preparation_step::preparation::parse_data: 1.43ms
from_slice: 1.43ms from_slice: 1.37ms
preparation_step::preparation::prepare: 381.00µs preparation_step::preparation::prepare: 382.00µs
air::preparation_step::preparation::make_exec_ctx: 40.00µs air::preparation_step::preparation::make_exec_ctx: 40.00µs
air_parser::parser::air_parser::parse: 132.00µs air_parser::parser::air_parser::parse: 132.00µs
runner::execute: 2.33ms runner::execute: 2.27ms
to_string(tetraplets): 455.00µs to_string(tetraplets): 443.00µs
runner::farewell: 615.00µs runner::farewell: 615.00µs
from_success_result: 592.00µs from_success_result: 591.00µs
populate_outcome_from_contexts: 537.00µs populate_outcome_from_contexts: 534.00µs
signing_step::sign_produced_cids: 9.00µs
verification_step::verify: 9.00µs
long-data (6.87ms; 54.000 MiB, 54.000 MiB): Long data trace
air::runner::execute_air: 6.87ms
preparation_step::preparation::parse_data: 4.80ms
from_slice: 4.74ms
preparation_step::preparation::prepare: 611.00µs
air::preparation_step::preparation::make_exec_ctx: 386.00µs
air_parser::parser::air_parser::parse: 17.00µs
runner::execute: 10.00µs
runner::farewell: 1.30ms
from_success_result: 1.28ms
populate_outcome_from_contexts: 1.24ms
signing_step::sign_produced_cids: 8.00µs
verification_step::verify: 9.00µs
multiple-cids10 (2.02ms; 51.438 MiB, 51.438 MiB): verifying multiple CIDs for single peer
air::runner::execute_air: 2.02ms
preparation_step::preparation::parse_data: 488.00µs
from_slice: 428.00µs
preparation_step::preparation::prepare: 283.00µs
air::preparation_step::preparation::make_exec_ctx: 33.00µs
air_parser::parser::air_parser::parse: 43.00µs
runner::execute: 605.00µs
to_string(tetraplets): 14.00µs
runner::farewell: 520.00µs
from_success_result: 497.00µs
populate_outcome_from_contexts: 437.00µs
signing_step::sign_produced_cids: 8.00µs
verification_step::verify: 9.00µs
multiple-peers8 (7.93ms; 52.375 MiB, 52.375 MiB): verifying many CIDs for many peers
air::runner::execute_air: 7.93ms
preparation_step::preparation::parse_data: 1.84ms
from_slice: 1.78ms
preparation_step::preparation::prepare: 375.00µs
air::preparation_step::preparation::make_exec_ctx: 116.00µs
air_parser::parser::air_parser::parse: 49.00µs
runner::execute: 4.21ms
to_string(tetraplets): 17.00µs
runner::farewell: 1.37ms
from_success_result: 1.34ms
populate_outcome_from_contexts: 1.21ms
signing_step::sign_produced_cids: 10.00µs
verification_step::verify: 9.00µs
multiple-sigs30 (22.90ms; 55.125 MiB, 55.125 MiB): signing multiple CIDs
air::runner::execute_air: 22.90ms
preparation_step::preparation::parse_data: 4.96ms
from_slice: 4.90ms
preparation_step::preparation::prepare: 499.00µs
air::preparation_step::preparation::make_exec_ctx: 233.00µs
air_parser::parser::air_parser::parse: 51.00µs
runner::execute: 13.10ms
runner::farewell: 4.25ms
from_success_result: 4.23ms
populate_outcome_from_contexts: 4.03ms
signing_step::sign_produced_cids: 10.00µs
verification_step::verify: 9.00µs
network-explore (1.65ms; 51.375 MiB, 51.375 MiB): 5 peers of network are discovered
air::runner::execute_air: 1.65ms
preparation_step::preparation::parse_data: 655.00µs
from_slice: 596.00µs
preparation_step::preparation::prepare: 313.00µs
air::preparation_step::preparation::make_exec_ctx: 22.00µs
air_parser::parser::air_parser::parse: 80.00µs
runner::execute: 193.00µs
to_string(tetraplets): 14.00µs
runner::farewell: 354.00µs
from_success_result: 332.00µs
populate_outcome_from_contexts: 283.00µs
signing_step::sign_produced_cids: 9.00µs signing_step::sign_produced_cids: 9.00µs
verification_step::verify: 8.00µs verification_step::verify: 8.00µs
multiple-cids10 (2.40ms; 51.438 MiB, 51.438 MiB): verifying multiple CIDs for single peer
air::runner::execute_air: 2.40ms
preparation_step::preparation::parse_data: 563.00µs
from_slice: 474.00µs
preparation_step::preparation::prepare: 325.00µs
air::preparation_step::preparation::make_exec_ctx: 41.00µs
air_parser::parser::air_parser::parse: 50.00µs
runner::execute: 740.00µs
to_string(tetraplets): 20.00µs
runner::farewell: 626.00µs
from_success_result: 601.00µs
populate_outcome_from_contexts: 512.00µs
signing_step::sign_produced_cids: 13.00µs
verification_step::verify: 10.00µs
multiple-peers8 (9.19ms; 52.375 MiB, 52.375 MiB): verifying many CIDs for many peers
air::runner::execute_air: 9.19ms
preparation_step::preparation::parse_data: 2.39ms
from_slice: 2.29ms
preparation_step::preparation::prepare: 400.00µs
air::preparation_step::preparation::make_exec_ctx: 126.00µs
air_parser::parser::air_parser::parse: 54.00µs
runner::execute: 4.67ms
to_string(tetraplets): 34.00µs
runner::farewell: 1.54ms
from_success_result: 1.51ms
populate_outcome_from_contexts: 1.37ms
signing_step::sign_produced_cids: 10.00µs
verification_step::verify: 18.00µs
multiple-sigs30 (23.00ms; 55.125 MiB, 55.125 MiB): signing multiple CIDs
air::runner::execute_air: 23.00ms
preparation_step::preparation::parse_data: 5.07ms
from_slice: 5.00ms
preparation_step::preparation::prepare: 495.00µs
air::preparation_step::preparation::make_exec_ctx: 237.00µs
air_parser::parser::air_parser::parse: 49.00µs
runner::execute: 13.00ms
runner::farewell: 4.28ms
from_success_result: 4.25ms
populate_outcome_from_contexts: 4.05ms
signing_step::sign_produced_cids: 9.00µs
verification_step::verify: 9.00µs
network-explore (1.89ms; 51.375 MiB, 51.375 MiB): 5 peers of network are discovered
air::runner::execute_air: 1.89ms
preparation_step::preparation::parse_data: 822.00µs
from_slice: 748.00µs
preparation_step::preparation::prepare: 336.00µs
air::preparation_step::preparation::make_exec_ctx: 30.00µs
air_parser::parser::air_parser::parse: 78.00µs
runner::execute: 205.00µs
to_string(tetraplets): 13.00µs
runner::farewell: 359.00µs
from_success_result: 335.00µs
populate_outcome_from_contexts: 286.00µs
signing_step::sign_produced_cids: 17.00µs
verification_step::verify: 9.00µs
populate-map (3.81ms; 51.938 MiB, 51.938 MiB): benchmarking a map insert operation populate-map (3.81ms; 51.938 MiB, 51.938 MiB): benchmarking a map insert operation
air::runner::execute_air: 3.81ms air::runner::execute_air: 3.81ms
preparation_step::preparation::parse_data: 130.00µs preparation_step::preparation::parse_data: 130.00µs
@ -492,31 +518,31 @@ Machine 88756ca30bfb93b0da6a64252adc98fc3e97e142c3b4970af3d2948fd66107b4:
populate_outcome_from_contexts: 349.00µs populate_outcome_from_contexts: 349.00µs
signing_step::sign_produced_cids: 10.00µs signing_step::sign_produced_cids: 10.00µs
verification_step::verify: 13.00µs verification_step::verify: 13.00µs
populate-map-multiple-keys (3.74ms; 51.938 MiB, 51.938 MiB): benchmarking a map insert operation populate-map-multiple-keys (3.79ms; 51.938 MiB, 51.938 MiB): benchmarking a map insert operation
air::runner::execute_air: 3.74ms air::runner::execute_air: 3.79ms
preparation_step::preparation::parse_data: 131.00µs preparation_step::preparation::parse_data: 134.00µs
from_slice: 92.00µs from_slice: 93.00µs
preparation_step::preparation::prepare: 271.00µs preparation_step::preparation::prepare: 271.00µs
air::preparation_step::preparation::make_exec_ctx: 16.00µs air::preparation_step::preparation::make_exec_ctx: 16.00µs
air_parser::parser::air_parser::parse: 47.00µs air_parser::parser::air_parser::parse: 47.00µs
runner::execute: 2.79ms runner::execute: 2.83ms
runner::farewell: 409.00µs runner::farewell: 415.00µs
from_success_result: 387.00µs from_success_result: 392.00µs
populate_outcome_from_contexts: 346.00µs populate_outcome_from_contexts: 351.00µs
signing_step::sign_produced_cids: 10.00µs signing_step::sign_produced_cids: 10.00µs
verification_step::verify: 9.00µs verification_step::verify: 9.00µs
populate-map-single-key (2.93ms; 51.875 MiB, 51.875 MiB): benchmarking a map insert operation populate-map-single-key (3.00ms; 51.875 MiB, 51.875 MiB): benchmarking a map insert operation
air::runner::execute_air: 2.93ms air::runner::execute_air: 3.00ms
preparation_step::preparation::parse_data: 189.00µs preparation_step::preparation::parse_data: 192.00µs
from_slice: 149.00µs from_slice: 150.00µs
preparation_step::preparation::prepare: 271.00µs preparation_step::preparation::prepare: 269.00µs
air::preparation_step::preparation::make_exec_ctx: 16.00µs air::preparation_step::preparation::make_exec_ctx: 16.00µs
air_parser::parser::air_parser::parse: 43.00µs air_parser::parser::air_parser::parse: 44.00µs
runner::execute: 1.91ms runner::execute: 1.95ms
runner::farewell: 429.00µs runner::farewell: 443.00µs
from_success_result: 407.00µs from_success_result: 420.00µs
populate_outcome_from_contexts: 353.00µs populate_outcome_from_contexts: 359.00µs
signing_step::sign_produced_cids: 10.00µs signing_step::sign_produced_cids: 9.00µs
verification_step::verify: 9.00µs verification_step::verify: 9.00µs
Machine c1f3ea5950db0a10b44da931c25774d64ab25084f47d504f72f311e694550ff1: Machine c1f3ea5950db0a10b44da931c25774d64ab25084f47d504f72f311e694550ff1:
Platform: macOS-12.0.1-x86_64-i386-64bit Platform: macOS-12.0.1-x86_64-i386-64bit

View File

@ -1,15 +0,0 @@
[package]
name = "cidify"
version = "0.1.0"
edition = "2021"
publish = false
[dependencies]
aquavm-air = { path = "../../air", features = ["gen_signatures", "check_signatures"] }
air-interpreter-cid = { path = "../../crates/air-lib/interpreter-cid" }
air-interpreter-data = { path = "../../crates/air-lib/interpreter-data" }
air-interpreter-signatures = { path = "../../crates/air-lib/interpreter-signatures" }
air-test-utils = { path = "../../crates/air-lib/test-utils" }
clap = { version = "4.1.13", features = ["derive"] }
serde = { version = "1.0.158", features = ["derive"] }
serde_json = "1.0.94"

View File

@ -7,6 +7,8 @@ edition = "2021"
[dependencies] [dependencies]
aquavm-air = { path = "../../air", features = ["gen_signatures", "check_signatures"] } aquavm-air = { path = "../../air", features = ["gen_signatures", "check_signatures"] }
air-interpreter-cid = { path = "../../crates/air-lib/interpreter-cid" }
air-interpreter-data = { path = "../../crates/air-lib/interpreter-data" }
air-interpreter-signatures = { path = "../../crates/air-lib/interpreter-signatures" } air-interpreter-signatures = { path = "../../crates/air-lib/interpreter-signatures" }
air-test-utils = { path = "../../crates/air-lib/test-utils" } air-test-utils = { path = "../../crates/air-lib/test-utils" }
air-testing-framework = { path = "../../crates/testing-framework" } air-testing-framework = { path = "../../crates/testing-framework" }

View File

@ -7,18 +7,20 @@ set -e
echo "Pre-build a binary..." >&2 echo "Pre-build a binary..." >&2
cargo build --quiet --release cargo build --quiet --release
for bench in canon-map-key-by-lens \ for bench in big-values-data \
canon-map-key-by-lens \
canon-map-key-element-by-lens \ canon-map-key-element-by-lens \
canon-map-multiple-keys \ canon-map-multiple-keys \
canon-map-single-key \ canon-map-single-key \
canon-map-scalar-multiple-keys \ canon-map-scalar-multiple-keys \
canon-map-scalar-single-key \ canon-map-scalar-single-key \
populate-map-multiple-keys \ dashboard network-explore \
populate-map-single-key \ long-data \
multiple-cids10 \ multiple-cids10 \
multiple-peers8 \ multiple-peers8 \
multiple-sigs30 \ multiple-sigs30 \
dashboard network-explore; populate-map-multiple-keys \
populate-map-single-key ;
do do
echo "Generating ${bench} ..." >&2 echo "Generating ${bench} ..." >&2
DESTDIR="../../benches/performance_metering/${bench}/" DESTDIR="../../benches/performance_metering/${bench}/"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,15 +1,18 @@
use air::interpreter_version;
use air_interpreter_data::ExecutedState; use air_interpreter_data::ExecutedState;
use air_interpreter_signatures::{PeerCidTracker, SignatureStore}; use air_interpreter_signatures::PeerCidTracker;
use air_interpreter_signatures::SignatureStore;
use air_test_utils::key_utils::derive_dummy_keypair; use air_test_utils::key_utils::derive_dummy_keypair;
use air_test_utils::prelude::*; use air_test_utils::prelude::*;
use fluence_keypair::KeyPair;
use serde::de::DeserializeOwned;
use serde::Deserialize;
use serde::Serialize;
use serde_json::json;
use serde_json::Value;
use std::collections::HashMap; use std::collections::HashMap;
use clap::Parser;
use serde::{de::DeserializeOwned, Deserialize, Serialize};
use serde_json::{json, Value};
use std::path::PathBuf;
#[derive(Deserialize, Debug, Serialize)] #[derive(Deserialize, Debug, Serialize)]
struct PreCidInterpeterData { struct PreCidInterpeterData {
trace: Vec<Value>, trace: Vec<Value>,
@ -51,60 +54,6 @@ enum Kind {
Unused, Unused,
} }
#[derive(Parser)]
struct Args {
data_path: PathBuf,
calls_path: PathBuf,
}
fn main() {
let args = Args::parse();
let mut data: PreCidInterpeterData = read_data(args.data_path);
let calls: TraceCalls = read_data(args.calls_path);
let mut calls = calls.into_iter();
// STUB
let (keypair, id) = derive_dummy_keypair("init_peer_id");
let mut peer_id_cache = HashMap::<String, String>::new();
let mut signature_tracker = PeerCidTracker::new(id);
let mut cid_state = air::ExecutionCidState::new();
for elt in &mut data.trace {
let obj = elt.as_object_mut().unwrap();
if let Some(call) = obj.get_mut("call") {
if let Some(executed) = call.as_object_mut().unwrap().get_mut("executed") {
if let Some(scalar) = executed.as_object_mut().unwrap().get_mut("scalar") {
let call_info = calls.next().expect("More calls than call_info");
let state = transform_cid(
scalar.take(),
call_info,
&mut cid_state,
&mut peer_id_cache,
&mut signature_tracker,
);
*elt = json!(state);
}
}
}
}
data.other_fields.as_object_mut().unwrap().insert(
"cid_info".to_owned(),
serde_json::to_value(Into::<air_interpreter_data::CidInfo>::into(cid_state)).unwrap(),
);
data.other_fields
.as_object_mut()
.unwrap()
.insert("interpreter_version".to_owned(), json!("0.41.0"));
let mut ss = <SignatureStore>::new();
ss.put(keypair.public().into(), signature_tracker.gen_signature("particle_id", &keypair).unwrap());
data.other_fields
.as_object_mut()
.unwrap()
.insert("signatures".to_owned(), json!(ss));
serde_json::to_writer(std::io::stdout(), &data).unwrap();
}
fn derive_peer_id(peer_name: &str, peer_id_cache: &mut HashMap<String, String>) -> String { fn derive_peer_id(peer_name: &str, peer_id_cache: &mut HashMap<String, String>) -> String {
peer_id_cache peer_id_cache
.entry(peer_name.to_owned()) .entry(peer_name.to_owned())
@ -112,7 +61,7 @@ fn derive_peer_id(peer_name: &str, peer_id_cache: &mut HashMap<String, String>)
.clone() .clone()
} }
fn read_data<T: DeserializeOwned>(path: PathBuf) -> T { fn read_data<T: DeserializeOwned>(path: &str) -> T {
let inp = std::fs::File::open(path).unwrap(); let inp = std::fs::File::open(path).unwrap();
serde_json::from_reader(inp).unwrap() serde_json::from_reader(inp).unwrap()
} }
@ -142,7 +91,6 @@ fn transform_cid(
builder = builder.json_path(json_path); builder = builder.json_path(json_path);
} }
match meta.kind { match meta.kind {
Some(Kind::Scalar) | None => { Some(Kind::Scalar) | None => {
let state = builder.scalar_tracked(cid_state); let state = builder.scalar_tracked(cid_state);
@ -154,3 +102,98 @@ fn transform_cid(
Some(Kind::Stream) => unimplemented!("no stream in test data"), Some(Kind::Stream) => unimplemented!("no stream in test data"),
} }
} }
pub fn cid_benchmarking_data(
curr_data_filename: &str,
prev_data_filename: &str,
keypair: &KeyPair,
peer_id: String,
particle_id: &str,
) -> (Vec<u8>, Vec<u8>) {
let mut curr_data: PreCidInterpeterData = read_data(curr_data_filename);
let calls: TraceCalls = read_data("src/cid_benchmarking/simple-calls-info.json");
let mut calls = calls.into_iter();
// STUB
let mut peer_id_cache = HashMap::<String, String>::new();
let mut signature_tracker = PeerCidTracker::new(peer_id);
let mut cid_state = air::ExecutionCidState::new();
for elt in &mut curr_data.trace {
let obj = elt.as_object_mut().unwrap();
if let Some(call) = obj.get_mut("call") {
if let Some(executed) = call.as_object_mut().unwrap().get_mut("executed") {
if let Some(scalar) = executed.as_object_mut().unwrap().get_mut("scalar") {
let call_info = calls.next().expect("More calls than call_info");
let state = transform_cid(
scalar.take(),
call_info,
&mut cid_state,
&mut peer_id_cache,
&mut signature_tracker,
);
*elt = json!(state);
}
}
}
}
curr_data.other_fields.as_object_mut().unwrap().insert(
"cid_info".to_owned(),
serde_json::to_value(Into::<air_interpreter_data::CidInfo>::into(cid_state)).unwrap(),
);
curr_data.other_fields.as_object_mut().unwrap().insert(
"interpreter_version".to_owned(),
json!(interpreter_version()),
);
let mut ss = <SignatureStore>::new();
ss.put(
keypair.public().into(),
signature_tracker
.gen_signature(particle_id, &keypair)
.unwrap(),
);
curr_data
.other_fields
.as_object_mut()
.unwrap()
.insert("signatures".to_owned(), json!(ss));
let curr_data = serde_json::to_vec(&curr_data).unwrap();
let mut prev_data: PreCidInterpeterData = read_data(prev_data_filename);
prev_data.other_fields.as_object_mut().unwrap().insert(
"interpreter_version".to_owned(),
json!(interpreter_version()),
);
let prev_data = serde_json::to_vec(&prev_data).unwrap();
(prev_data, curr_data)
}
pub fn cid_benchmarking_long_data(
keypair: &KeyPair,
peer_id: String,
particle_id: &str,
) -> (Vec<u8>, Vec<u8>) {
cid_benchmarking_data(
"src/cid_benchmarking/anomaly_long.json",
"src/cid_benchmarking/long_data_prev_data.json",
keypair,
peer_id,
particle_id,
)
}
pub fn cid_benchmarking_big_values_data(
keypair: &KeyPair,
peer_id: String,
particle_id: &str,
) -> (Vec<u8>, Vec<u8>) {
cid_benchmarking_data(
"src/cid_benchmarking/anomaly_big.json",
"src/cid_benchmarking/big_values_data_prev_data.json",
keypair,
peer_id,
particle_id,
)
}

View File

@ -0,0 +1,12 @@
use std::collections::HashMap;
#[derive(Debug, Default)]
#[allow(dead_code)]
pub(crate) struct Data {
pub(crate) air: String,
pub(crate) prev_data: Vec<u8>,
pub(crate) cur_data: Vec<u8>,
pub(crate) params_json: HashMap<String, String>,
pub(crate) call_results: Option<serde_json::Value>,
pub(crate) keypair: String,
}

View File

@ -1,16 +1,22 @@
use air_test_framework::*; use air_test_framework::*;
use air_test_utils::key_utils::derive_dummy_keypair;
use air_test_utils::prelude::*; use air_test_utils::prelude::*;
use clap::{Parser, Subcommand};
use clap::Parser;
use clap::Subcommand;
use itertools::Itertools as _; use itertools::Itertools as _;
use maplit::hashmap; use maplit::hashmap;
use serde::Serialize;
use std::collections::HashMap; use std::collections::HashMap;
use std::path::{Path, PathBuf}; use std::path::Path;
use std::path::PathBuf;
const PARTICLE_ID: &str = "0123456789ABCDEF"; const PARTICLE_ID: &str = "0123456789ABCDEF";
const MAX_STREAM_SIZE: usize = 1023; const MAX_STREAM_SIZE: usize = 1023;
mod cid_benchmarking;
mod dashboard; mod dashboard;
mod data;
mod network_explore; mod network_explore;
#[derive(Debug, Parser)] #[derive(Debug, Parser)]
@ -42,6 +48,8 @@ enum Bench {
CanonMapSingleKey, CanonMapSingleKey,
CanonMapScalarMultipleKeys, CanonMapScalarMultipleKeys,
CanonMapScalarSingleKey, CanonMapScalarSingleKey,
LongData,
BigValuesData,
} }
fn main() { fn main() {
@ -66,6 +74,8 @@ fn main() {
Bench::CanonMapScalarSingleKey => canon_map_scalar_single_key(770), Bench::CanonMapScalarSingleKey => canon_map_scalar_single_key(770),
Bench::CanonMapKeyByLens => canon_map_key_by_lens(770), Bench::CanonMapKeyByLens => canon_map_key_by_lens(770),
Bench::CanonMapKeyElementByLens => canon_map_key_element_by_lens(770), Bench::CanonMapKeyElementByLens => canon_map_key_element_by_lens(770),
Bench::LongData => long_data(),
Bench::BigValuesData => big_values_data(),
}; };
save_data(&args.dest_dir, data).unwrap(); save_data(&args.dest_dir, data).unwrap();
@ -99,8 +109,6 @@ fn save_data(dest_dir: &Path, data: Data) -> Result<(), Box<dyn std::error::Erro
/// make zero-indentation data for better git diffs /// make zero-indentation data for better git diffs
fn reformat_json_if_possible(data: &[u8]) -> Option<Vec<u8>> { fn reformat_json_if_possible(data: &[u8]) -> Option<Vec<u8>> {
use serde::ser::Serialize;
if data.is_empty() { if data.is_empty() {
return None; return None;
} }
@ -625,3 +633,48 @@ fn canon_map_scalar_single_key(size: usize) -> Data {
keypair: bs58::encode(keypair.to_vec()).into_string(), keypair: bs58::encode(keypair.to_vec()).into_string(),
} }
} }
fn long_data() -> Data {
use cid_benchmarking::cid_benchmarking_long_data;
let (keypair, peer_id) = derive_dummy_keypair("init_peer_id");
let particle_id = "particle_id";
let (prev_data, curr_data) = cid_benchmarking_long_data(&keypair, peer_id.clone(), particle_id);
Data {
air: "(null)".to_owned(),
prev_data: prev_data,
cur_data: curr_data,
params_json: hashmap! {
"comment".to_owned() => "Long data trace".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,
},
call_results: None,
keypair: bs58::encode(keypair.to_vec()).into_string(),
}
}
fn big_values_data() -> Data {
use cid_benchmarking::cid_benchmarking_big_values_data;
let (keypair, peer_id) = derive_dummy_keypair("init_peer_id");
let particle_id = "particle_id";
let (prev_data, curr_data) =
cid_benchmarking_big_values_data(&keypair, peer_id.clone(), particle_id);
Data {
air: "(null)".to_owned(),
prev_data: prev_data,
cur_data: curr_data,
params_json: hashmap! {
"comment".to_owned() => "Loading a trace with huge values".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,
},
call_results: None,
keypair: bs58::encode(keypair.to_vec()).into_string(),
}
}