Python многопроцессорная обработка функции с несколькими входами

В Python модуль multiprocessing может использоваться для параллельного запуска функции с диапазоном значений. Например, это создает список первых 100000 оценок f.

def f(i):
    return i * i

def main():
    import multiprocessing
    pool = multiprocessing.Pool(2)
    ans = pool.map(f, range(100000))

    return ans

Можно ли сделать то же самое, когда f принимает несколько входных данных, но изменяется только одна переменная? Например, как бы вы распараллелили это: Итак, каков самый быстрый / лучший метод: 1 - Создать вектор, отсортировать его и удалить дубликаты? 2 - Использовать некий «отсортированный» вектор (если он есть)? ...

Мне нужен упорядоченный набор значений без дубликатов. Итак, какой метод является быстрым / лучшим:

1 - Создать вектор, отсортировать его и удалить дубликаты? 2 - Использовать своего рода «отсортированный» вектор (если он существует)?

Какой из них может быть более эффективным?

8
задан DReJ 16 December 2010 в 16:59
поделиться