MCPcopy Index your code
hub / github.com/ciphermodelabs/ciphercore / test_parallel_after_finalize

Function test_parallel_after_finalize

ciphercore-base/src/graphs.rs:5787–5834  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

5785
5786 #[tokio::test(flavor = "multi_thread", worker_threads = 50)]
5787 async fn test_parallel_after_finalize() -> Result<()> {
5788 let context = create_context()?;
5789 let graph = context.create_graph()?;
5790 let input1 = graph.input(scalar_type(INT32))?;
5791 let input2 = graph.input(scalar_type(INT32))?;
5792 let output = graph.add(input1.clone(), input2.clone())?;
5793 graph.set_output_node(output.clone())?;
5794 graph.finalize()?;
5795 context.set_main_graph(graph.clone())?;
5796
5797 context.set_node_name(input1.clone(), "one")?;
5798 context.set_node_name(input2.clone(), "two")?;
5799
5800 context.finalize()?;
5801
5802 assert!(output.clone().get_type().is_ok());
5803
5804 const PAR_ITERS: usize = 2001;
5805
5806 let mut get_type_futures = vec![];
5807 for _ in 0..PAR_ITERS {
5808 get_type_futures.push(parallel_get_type(output.clone()));
5809 }
5810 futures::future::try_join_all(get_type_futures).await?;
5811
5812 let mut get_random_evaluate_futures = vec![];
5813 for _ in 0..PAR_ITERS {
5814 get_random_evaluate_futures
5815 .push(parallel_random_evaluate(graph.clone(), context.clone()))
5816 }
5817 futures::future::try_join_all(get_random_evaluate_futures).await?;
5818
5819 let input_parties = vec![IOStatus::Party(0), IOStatus::Party(1)];
5820 let output_parties = vec![IOStatus::Party(0)];
5821
5822 let mut get_mpc_eval_futures = vec![];
5823 for _ in 0..PAR_ITERS {
5824 get_mpc_eval_futures.push(parallel_prepare_for_mpc_evaluation(
5825 context.clone(),
5826 vec![input_parties.clone()],
5827 vec![output_parties.clone()],
5828 InlineConfig::default(),
5829 ));
5830 }
5831 futures::future::try_join_all(get_mpc_eval_futures).await?;
5832
5833 Ok(())
5834 }
5835}

Callers

nothing calls this directly

Calls 14

parallel_get_typeFunction · 0.85
parallel_random_evaluateFunction · 0.85
cloneMethod · 0.80
create_contextFunction · 0.70
scalar_typeFunction · 0.70
create_graphMethod · 0.45
inputMethod · 0.45
addMethod · 0.45
set_output_nodeMethod · 0.45
finalizeMethod · 0.45
set_main_graphMethod · 0.45

Tested by

no test coverage detected