def enumerate_cpu_counts() -> typing.List[int]:
    'This program prints the number of CPU counts to benchmark on this machine.\n\n    We remove some percentage of CPU cores off the top for system / background processing. With\n    the CPUs that remain, we generate a list of evenly spaced worker counts. The list is limited\n    by the number of trials desired. This is meant to help us explore the number of CPUs that\n    should be dedicated to MZ_WORKERS, not as a prescription for the correct values to choose.\n\n    On a Macbook with 8 cores, this will return [6, 4, 3, 2].\n\n    On a 56 core machine, this returns [24, 18, 12, 6].\n\n    On a 96 core machine, this returns [41, 30, 20, 10].\n    '
    max_cpus = round((multiprocessing.cpu_count() * 0.425))
    num_trials = 4
    worker_counts = [round(((i * max_cpus) / num_trials)) for i in range(num_trials, 0, (- 1))]
    return list(reversed(sorted(set(worker_counts))))
This program prints the number of CPU counts to benchmark on this machine.

We remove some percentage of CPU cores off the top for system / background processing. With
the CPUs that remain, we generate a list of evenly spaced worker counts. The list is limited
by the number of trials desired. This is meant to help us explore the number of CPUs that
should be dedicated to MZ_WORKERS, not as a prescription for the correct values to choose.

On a Macbook with 8 cores, this will return [6, 4, 3, 2].

On a 56 core machine, this returns [24, 18, 12, 6].

On a 96 core machine, this returns [41, 30, 20, 10].
def enumerate_cpu_counts() -> typing.List[int]:
    'This program prints the number of CPU counts to benchmark on this machine.\n\n    We remove some percentage of CPU cores off the top for system / background processing. With\n    the CPUs that remain, we generate a list of evenly spaced worker counts. The list is limited\n    by the number of trials desired. This is meant to help us explore the number of CPUs that\n    should be dedicated to MZ_WORKERS, not as a prescription for the correct values to choose.\n\n    On a Macbook with 8 cores, this will return [6, 4, 3, 2].\n\n    On a 56 core machine, this returns [24, 18, 12, 6].\n\n    On a 96 core machine, this returns [41, 30, 20, 10].\n    '
    max_cpus = round((multiprocessing.cpu_count() * 0.425))
    num_trials = 4
    worker_counts = [round(((i * max_cpus) / num_trials)) for i in range(num_trials, 0, (- 1))]
    return list(reversed(sorted(set(worker_counts))))