[Python] Migliorare le prestazioni usando i core?

Aplemaser deevotion a gmail.com
Dom 31 Mar 2013 20:18:09 CEST


Ciao a tutti e buona pasqua.

Dopo aver sviluppato, con estrema soddisfazione, un applicativo che
importa/trasforma/riscrive una notevole mole di dati (almeno per me) da uno
o più file CSV ad un database SQL, ora sto affrontando la difficile opera
di tuning, perché i tempi sono "importanti" dovendo interagire con oltre
20.000.000 di record tutti i santi giorni.

Dallo studio delle prestazioni hardware della macchina che esegue
l'operazione ho notato che solo uno dei 4 core presenti durante la
lavorazione va a saturazione, mentre gli altri restano relativamente a
riposo.

Ammetto di essere un completo ignorante in materia e mi scuso se la domanda
non è pertinente, ma dopo aver girovagato in rete (a dire il vero ho
trovato molte informazioni datate, non so se più valide) mi è sembrato di
capire che si potrebbero usare dei moduli precisi per far usare più core,
come threading o processing. Prima di fare/dire bestialità ho pensato di
chiedere consiglio a voi che magari avete già avuto esperienza similari,
magari indicandomi delle risorse di esempio. L'obbiettivo è di eseguire più
operazioni in parallelo anziché in una unica.

Tanto per completare l'informazione la versione di Python utilizzata è la
2.7 su un sistema Debian 6.0.6.

Ciao a tutti e grazie dell'attenzione.
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130331/eefe825c/attachment.html>


Maggiori informazioni sulla lista Python