def run_all_experiments()

in experiments/jsonmaps.py [0:0]


def run_all_experiments(seed):
    '''Runs experiments in parallel. This function is used by plots.py'''

    # Run experiments in parallel
    metrics = Parallel(n_jobs=os.cpu_count() - 1)(
            delayed(cache(run_single_experiment))(seq_length, seed)
            for seq_length in [1, 2, 5, 15, 20, 50, 100, 1000, 5000])

    # Save results (run plot.py to see plotted results)
    df = pd.DataFrame(metrics).set_index('seq_length')
    df['pct_saved_bits'] = \
        100*(1 - df.compressed_length_multiset/df.compressed_length_sequence)
    df['pct_saved_bits_limit'] = \
            100*df.saved_bits_limit/df.compressed_length_sequence
    df['pct_saved_bits_limit_unnested'] = \
            100*df.saved_bits_limit_unnested/df.compressed_length_sequence

    return df