Il giorno 20 maggio 2016 16:42, Pietro Battiston <m...@pietrobattiston.it> ha scritto:
> Il giorno ven, 20/05/2016 alle 16.26 +0200, alessandro medici ha > scritto: > > Il giorno 20 maggio 2016 16:05, Pietro Battiston <ml@pietrobattiston. > > it> ha scritto: > > > > > > > - "multiprocessing" implica (a meno di eccezioni notevoli) > > > "pickle > > > > > di > > > > > tutto" > > > > ? cioè i dati vengono trasmessi via pickle e non via puntatori? > > > Sure? > > > > O invece non ho capito cosa affermi? Sorry per la mia ignoranza, > > > ma > > > > sono anziano e con i capelli MOLTO grigi. > > Qualche aiuto/commento? Per caso usi pickle per passare copie di > > dati? > > Sorry, mi ero dimenticato di rispondere a questo. > > Non è purtroppo una mia scelta quella di usare pickle, ma parte del > funzionamento di multiprocessing! > Vedi ad esempio > http://stackoverflow.com/questions/1816958/cant-pickle-type-instancemet > hod-when-using-pythons-multiprocessing-pool-ma > ... (non trovo al momento un riferimento chiaro nella documentazione). Visto. Ed ho visto anche gli escamotages. E', al solito, una questione di disegno: se hai bisogno di codice che agisca veloce: poco da fare. Ma se hai bisogno di codice che re-agisca veloce (in altre parole puoi lavorare prima sulle precondizioni ed il codice deve solo esser reattivo ad un caso quasi-previsto) una factory del metodo che ti serve potrebbe essere una buona soluzione. Capita. In tal caso pickle potrebbe implementare solo il puntatore alla classe esterna. (ma da andar a vedere se è vero :-) Ve ne è un ottimo esempio nell'implementazione di asyncio in 3.4, non ho avuto occasione di guardare se han cambiato qualcosa in 3.5. Alex
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python