Python Language Utilisation du module de multitraitement pour paralléliser des tâches


Exemple

import multiprocessing

def fib(n):
    """computing the Fibonacci in an inefficient way
    was chosen to slow down the CPU."""
    if n <= 2:
        return 1
    else:
        return fib(n-1)+fib(n-2) 
p = multiprocessing.Pool() 
print(p.map(fib,[38,37,36,35,34,33]))

# Out: [39088169, 24157817, 14930352, 9227465, 5702887, 3524578]

Comme l'exécution de chaque appel à fib se déroule en parallèle, le temps d'exécution de l'exemple complet est 1,8 fois plus rapide que s'il était exécuté de manière séquentielle sur un processeur double.

Python 2.2+