@classmethod
def sensible_default(cls, num_workers: int, dimension: int) ->'Pruning':
    """ Very conservative pruning
        - keep at least 100 elements, or 7 times num_workers, whatever is biggest
        - keep at least 3 x min_len, or up to 10 x min_len if it does not exceed 1gb of data

        Parameters
        ----------
        num_workers: int
            number of evaluations which will be run in parallel at once
        dimension: int
            dimension of the optimization space
        """
    min_len = max(100, 7 * num_workers)
    max_len_1gb = 1024 ** 3 // (dimension * 8 * 2)
    max_len = max(3 * min_len, min(10 * min_len, max_len_1gb))
    return cls(min_len, max_len)
