in sourcecode/scoring/post_selection_similarity_old.py [0:0]
def _get_pair_tuples_parallel(ratings, windowMillis):
# Sort and group ratings
ratings_sorted = ratings.sort_values([c.noteIdKey, c.createdAtMillisKey])
grouped = ratings_sorted.groupby(c.noteIdKey, sort=False)
# Prepare arguments for parallel processing
args = [(group, windowMillis) for _, group in grouped]
# Use multiprocessing Pool
with mp.Pool(mp.cpu_count()) as pool:
results = pool.starmap(_get_pair_tuples_process_group, args)
# Flatten the list of results
tuples = [tup for sublist in results for tup in sublist]
return tuples