[Python] Pararelizzare due loop

enrico franchi enrico.franchi a gmail.com
Sab 7 Gen 2012 12:54:40 CET


2012/1/5 Matteo Boscolo <matteo.boscolo a boscolini.eu>:

> vorrei qualche suggerimento su come parallelizzare i due cicli in modo da
> rendere pił efficiente e veloce questa funzione ..

Non farlo.


>  def _updateSolver(self,r):
>        """
>            internal function for solver updating
>        """
>        for p in r.parameters.values():
>            self._ruleSolver.addParameter(p.name, p.value)
>        for f in r.functions.values():
>            self._ruleSolver.addFunction(f.name, f.value)

L'unica cosa "innocua" e sensata che vedo qui e' usare strutture dati
appropriate.
Dai metodi, mi sembra che parameters e functions siano dizionari. Non
so cosa siano le chiavi.

Dopo di che chiami addParameter e addFunction, "spezzando" oggetto che
sembra una coppia.
E qualcosa mi dice che vai a mettere il tutto dentro un dizionario.

A me sembra che questo sia un caso in cui la programmazione ad oggetti
stia facendo dei danni.

Il modo piu' rapido per aggiungere valori ad un dizionario a partire
da un altro dizionario e' chiamare update e dimenticarsi del resto.


A margine, se questa cosa e' quello che penso io, l'unico modo di
andare veloce e' avere buone regole di taglio e buona propagazione.


-- 
.
..: -enrico-


Maggiori informazioni sulla lista Python