def not_new_items_filter(training, testing):

    test_users = testing.user.unique()
    for u in test_users:
        training_items_of_u =  training[training.user == u].item.unique()
        testing = testing[(testing.user != u) | ((testing.user == u) & ~testing.item.isin(training_items_of_u))]
    return testing
An estimate of how long it takes to do a single update.
dataset/ETHPy150Open grafos-ml/test.fm/src/testfm/splitter/split_utils.py/not_new_items_filter--crossover with--dataset/ETHPy150Open matrix-org/synapse/synapse/storage/background_updates.py/BackgroundUpdatePerformance.average_items_per_ms