@@ -44,7 +44,6 @@ pub async fn run_matches(
4444 . into_iter ( )
4545 . filter ( |u| !user1. checked . contains ( & u. id ) )
4646 . collect :: < Vec < _ > > ( ) ;
47- println ! ( "all users: {all_users:?}" ) ;
4847
4948 update_checked (
5049 & conn,
@@ -61,36 +60,41 @@ pub async fn run_matches(
6160 . map ( |u| u. id . clone ( ) )
6261 . collect :: < Vec < String > > ( ) ;
6362
64- let verified_matches = all_users
65- . into_par_iter ( )
66- . enumerate ( )
67- . map (
68- |( thread_id, user2) | -> Result < String , Box < dyn std:: error:: Error + Send + Sync + ' static > > {
69- let shares_user1 = get_shares ( & user1. id , true ) ?;
70- let shares_user2 = get_shares ( & user2. id , false ) ?;
71-
72- let share0 = merge_shares ( shares_user1[ 0 ] . clone ( ) , shares_user2[ 0 ] . clone ( ) ) ?;
73- let share1 = merge_shares ( shares_user1[ 1 ] . clone ( ) , shares_user2[ 1 ] . clone ( ) ) ?;
74- let share2 = merge_shares ( shares_user1[ 2 ] . clone ( ) , shares_user2[ 2 ] . clone ( ) ) ?;
75-
76- match run_match (
77- thread_id,
78- [ share0, share1, share2] ,
79- parties_certs. clone ( ) ,
80- program_artifact,
81- constraint_system. clone ( ) ,
82- recursive,
83- has_zk,
84- prover_crs. clone ( ) ,
85- verifier_crs. clone ( ) ,
86- ) {
87- Ok ( _) => Ok ( user2. id ) ,
88- Err ( e) => Err ( e) ,
89- }
90- } ,
91- )
92- . filter ( |m| m. is_ok ( ) )
93- . collect :: < Result < Vec < String > , _ > > ( ) ?;
63+ println ! ( "ALL USERS: {:?}" , all_users. len( ) ) ;
64+
65+ let pool = rayon:: ThreadPoolBuilder :: new ( ) . num_threads ( 5 ) . build ( ) ?;
66+
67+ let verified_matches = pool. install ( || -> Result < Vec < String > , Box < dyn std:: error:: Error + Send + Sync + ' static > > {
68+ all_users
69+ . into_par_iter ( )
70+ . enumerate ( )
71+ . map ( |( thread_id, user2) | -> Result < String , Box < dyn std:: error:: Error + Send + Sync + ' static > > {
72+ let shares_user1 = get_shares ( & user1. id , true ) ?;
73+ let shares_user2 = get_shares ( & user2. id , false ) ?;
74+
75+ let share0 = merge_shares ( shares_user1[ 0 ] . clone ( ) , shares_user2[ 0 ] . clone ( ) ) ?;
76+ let share1 = merge_shares ( shares_user1[ 1 ] . clone ( ) , shares_user2[ 1 ] . clone ( ) ) ?;
77+ let share2 = merge_shares ( shares_user1[ 2 ] . clone ( ) , shares_user2[ 2 ] . clone ( ) ) ?;
78+
79+ match run_match (
80+ thread_id,
81+ [ share0, share1, share2] ,
82+ parties_certs. clone ( ) ,
83+ program_artifact,
84+ constraint_system. clone ( ) ,
85+ recursive,
86+ has_zk,
87+ prover_crs. clone ( ) ,
88+ verifier_crs. clone ( ) ,
89+ ) {
90+ Ok ( _) => Ok ( user2. id ) ,
91+ Err ( e) => Err ( e) ,
92+ }
93+ } ,
94+ )
95+ . filter ( |m| m. is_ok ( ) )
96+ . collect :: < Result < Vec < String > , _ > > ( )
97+ } ) ?;
9498
9599 println ! ( "verified matches: {verified_matches:?}" ) ;
96100
0 commit comments