[Python] Utilizzo completo della cpu

Manlio Perillo manlio.perillo a gmail.com
Gio 17 Nov 2011 19:00:19 CET


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 17/11/2011 17:19, Matteo Perini ha scritto:
> Ciao lista,
> Vorrei sapere se è possibile utilizzare tutti i core della cpu per
> eseguire calcoli gravosi.
> Ho guardato un po' in internet e  come risposta ho trovato il
> multithreading che ho già utilizzato un paio di volte.
> Però non riesco a capire se è possibile applicarlo anche ad un unico
> comando.
> Mi spiego meglio.
> 
> ho una funzione fp non lineare che deve essere ottimizzata...
> fp = lambda v, x,y,
> phi:(1+v[0]*phi+v[1]*x+v[2]*x*phi+v[3]*y+v[4]*y*phi+v[5]*x**2...
> +v[6]*phi*x**2+v[7]*y**2+v[8]*phi*y**2+v[9]*x*y+v[10]*phi*x*y)/(v[11]+v[12]*phi...
> 
> +v[13]*x+v[14]*x*phi+v[15]*y+v[16]*y*phi+v[17]*x**2+v[18]*phi*x**2+v[19]*y**2...
> 
> +v[20]*phi*y**2+v[21]*x*y+v[22]*phi*x*y)
> 

Prima che ti complichi la vita con una implementazione parallela, ti
consiglio di ottimizzare l'implementazione attuale.

In particolare, nella definizione di fp vedo *molti* termini che sono
calcolati ripetutamente, mentre possono essere pre-calcolati una sola volta.

Magari un compilatore C efficiente è in grado di ottimizzare i termini
comuni, ma non CPython.


> [...]


Ciao  Manlio
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk7FS7MACgkQscQJ24LbaUSqegCfUDt74UmB2tFwF4enDtJdXP30
jxYAmwRygA9IePrjxI6r+GwiaXDT7B/n
=mTtp
-----END PGP SIGNATURE-----


Maggiori informazioni sulla lista Python