def METHOD_NAME(data, compare=None, use_file_buckets=False):
    pivots = _parallel_sort_init(data, compare)
    if not pivots:
        return _gather_to_proc_zero_and_sort(data, compare)
    if use_file_buckets:
        return _sort_with_file_buckets(pivots, data, compare)
    else:
        return _sort_with_memory_buckets(pivots, data, compare)