Python: Multicore-Verarbeitung?

Ich ve wurde Lesen über Python ' s multiprocessing-Modul. Ich glaube trotzdem nicht, dass ich ein sehr gutes Verständnis von, was es tun kann.

Sagen wir, ich habe ein quadcore-Prozessor und ich habe eine Liste mit 1.000.000 Integer und ich möchte die Summe aller ganzen zahlen. Ich könnte einfach tun:

list_sum = sum(my_list)

Aber das nur sendet es an einen Kern.

Ist es möglich, mit dem multiprocessing-Modul, teilen Sie das array, und jeder Kern bekommt die Summe seiner Teil und geben den Wert zurück, damit die gesamte Summe berechnet werden?

Etwas wie:

core1_sum = sum(my_list[0:500000])          #goes to core 1
core2_sum = sum(my_list[500001:1000000])    #goes to core 2
all_core_sum = core1_sum + core2_sum        #core 3 does final computation

Jede mögliche Hilfe würde geschätzt.

InformationsquelleAutor der Frage Nope | 2009-07-25

Schreibe einen Kommentar