Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-28 Per discussione enrico franchi
2016-05-27 13:54 GMT+01:00 Roberto Polli : > Con un broker ;) > > https://en.wikipedia.org/wiki/Software_transactional_memory > Dai, sfortunatamente non puo' funzionare. Cioe', STM funziona. Non funziona per questo use-case. Tanto per dirne una, ci sono seri problemi su come infilare quasi qualun

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-27 Per discussione alessandro medici
Il giorno 27 maggio 2016 15:51, alessandro medici < alexxandro.med...@gmail.com> ha scritto: > > Il giorno 27 maggio 2016 14:54, Roberto Polli ha > scritto: > >> Il 27 maggio 2016 14:41, enrico franchi ha >> scritto: >> > Scusa, e come fai a sapere che gli altri processi *non* ci lavorano? >> >>

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-27 Per discussione alessandro medici
Il giorno 27 maggio 2016 14:54, Roberto Polli ha scritto: > Il 27 maggio 2016 14:41, enrico franchi ha > scritto: > > Scusa, e come fai a sapere che gli altri processi *non* ci lavorano? > > Con un broker ;) > > https://en.wikipedia.org/wiki/Software_transactional_memory > > @alessandro.medici s

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-27 Per discussione alessandro medici
Il giorno 27 maggio 2016 14:41, enrico franchi ha scritto: > > > 2016-05-25 18:02 GMT+01:00 alessandro medici > : > >> >>> > Perche' scusa... se sai fare una libreria che ti consente di avere oggetti > condivisi fra processi *senza* bisogno di lock, allora direi che sai anche > fare una libreria

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-27 Per discussione Roberto Polli
Il 27 maggio 2016 14:41, enrico franchi ha scritto: > Scusa, e come fai a sapere che gli altri processi *non* ci lavorano? Con un broker ;) https://en.wikipedia.org/wiki/Software_transactional_memory @alessandro.medici se vuoi sperimentare, l'affare STM pare croccante, io ovviamente so solo che

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-27 Per discussione enrico franchi
2016-05-27 13:41 GMT+01:00 enrico franchi : > Ok... sto barando. Potresti avere questo oggetto "magico" nell'area > condivisa e poi passarti oggettini che sono solo riferimenti a > quell'oggetto (ma che a loro volta non sono condivisi). > Ah, ça va sans dire, questo oggetto sarebbe eterno. Non ci

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-27 Per discussione enrico franchi
2016-05-25 18:02 GMT+01:00 alessandro medici : > >> >> Scusa... parliamoci chiaro. Diciamo che hai scritto un allocatore che >> lavora su un chunk di memoria condivisa. >> Che vuole anche dire condivisa fra piu' processi (se no non e' >> particolarmente interessante). >> >> Mi spieghi come hai int

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-25 Per discussione alessandro medici
Il giorno 25 maggio 2016 19:05, Roberto Polli ha scritto: > Entrata a gamba tesa ;) > > - Enrico Franchi ha ((quasi) sempre) ragione; > - multithreading è un bordello in-testabile; > Non discuto nessuna delle affermazione. E sulla seconda puoi anche aggiungere che è maledettamente lenta appena a

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-25 Per discussione Roberto Polli
Entrata a gamba tesa ;) - Enrico Franchi ha ((quasi) sempre) ragione; - multithreading è un bordello in-testabile; - pthread_mutex_lock() finisce per diventare CPU bound, cosa che è male; - un race nei lock() finisce solitamente male, e capita magari dopo qualche mese; A suo tempo, scrivendo un s

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-25 Per discussione alessandro medici
Il giorno 25 maggio 2016 18:25, enrico franchi ha scritto: > > > 2016-05-25 17:07 GMT+01:00 alessandro medici > : > >> >>> Come al solito, passeggiare per la libreria porta spesso a dei bei >> risultati: >> https://docs.python.org/3.5/c-api/memory.html >> spiega anche bene come si potrebbe fare

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-25 Per discussione enrico franchi
2016-05-25 17:07 GMT+01:00 alessandro medici : > >> Come al solito, passeggiare per la libreria porta spesso a dei bei > risultati: > https://docs.python.org/3.5/c-api/memory.html > spiega anche bene come si potrebbe fare. > > A me sembra proprio di no. Scusa... parliamoci chiaro. Diciamo che ha

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-25 Per discussione enrico franchi
2016-05-24 14:30 GMT+01:00 Manlio Perillo : > > Quando parlo di memoria condivisa intendo a dettaglio implementativo, > magari nascosto sotto l'astrazione di una libreria o di un linguaggio. > Ad esempio in Rust alla fine *usi* memoria condivisa, ma il linguaggio > ti permette di ragionare senza p

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-25 Per discussione alessandro medici
> > > >> > >> Quando parlo di memoria condivisa intendo a dettaglio implementativo, > >> magari nascosto sotto l'astrazione di una libreria o di un linguaggio. > >> Ad esempio in Rust alla fine *usi* memoria condivisa, ma il linguaggio > >> ti permette di ragionare senza pensare a sincronizzazioni

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-25 Per discussione Manlio Perillo
2016-05-25 1:43 GMT+02:00 alessandro medici : > > >> >> >> Quando parlo di memoria condivisa intendo a dettaglio implementativo, >> magari nascosto sotto l'astrazione di una libreria o di un linguaggio. >> Ad esempio in Rust alla fine *usi* memoria condivisa, ma il linguaggio >> ti permette di ragi

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-24 Per discussione alessandro medici
> > Quando parlo di memoria condivisa intendo a dettaglio implementativo, > magari nascosto sotto l'astrazione di una libreria o di un linguaggio. > Ad esempio in Rust alla fine *usi* memoria condivisa, ma il linguaggio > ti permette di ragionare senza pensare a sincronizzazioni esplicite. > Conco

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-24 Per discussione alessandro medici
No. Sto scrivendo di chiamate al sistema per condividere un'area di memoria in sola lettura. Che il tutto sia un casino da gestire a livello di sistema, è altra questione. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/li

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-24 Per discussione Manlio Perillo
2016-05-24 15:00 GMT+02:00 enrico franchi : > > [...] >> Perchè tutti i linguaggi (o meglio le loro implementazioni) attuali >> che conosco, tranne Erlang (ed Haskell, come caso speciale), usano >> memoria condivisa, anche se offrono supporto per il message passing >> (tramite channel). > > > Ma no

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-24 Per discussione Marco Beri
Il 24 mag 2016 3:02 PM, "enrico franchi" ha scritto: > Ah, ok. Beh, allora vai in seg fault alla velocita' della luce, sperabilmente prima di avere corrotto dati. Se ci vai alla velocità della luce, per definizione ci arrivi prima. Non serve sperare. Ciao. Marco. ___

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-24 Per discussione enrico franchi
2016-05-23 0:13 GMT+01:00 Manlio Perillo : > > Nel 2016 praticamente tutti > > quelli che hanno architettura a memoria condivisa le stanno migrando, a > > parte in determinati casi specifici (e.g., embedded, kernel, > possibilmente > > roba come pipeline audio e video, dove hai veramente tanti dat

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-24 Per discussione enrico franchi
2016-05-23 10:29 GMT+01:00 alessandro medici : > >> E capisci anche che praticamente *tutte* le operazioni su questi oggetti >> devono essere protette da un lock. Perche'? Beh... perche' se siamo in >> memoria condivisa vuole dire che piu' processi possono accedervi (o >> meglio... se li ho messi

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-23 Per discussione alessandro medici
> > > E capisci anche che praticamente *tutte* le operazioni su questi oggetti > devono essere protette da un lock. Perche'? Beh... perche' se siamo in > memoria condivisa vuole dire che piu' processi possono accedervi (o > meglio... se li ho messi in memoria condivisa e' perche' voglio accederci >

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-22 Per discussione Manlio Perillo
2016-05-23 0:56 GMT+02:00 enrico franchi : > > > 2016-05-21 13:24 GMT+01:00 alessandro medici : >> > [...] >> >> Il ragionamento che fai fila, però... Mettiamola così: mi piacerebbe che >> esistesse >> un'opzione tale che permettesse di definire una variabile in uno spazio >> condiviso ed >> access

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-22 Per discussione enrico franchi
2016-05-21 13:24 GMT+01:00 alessandro medici : > > > Il giorno 21 maggio 2016 12:51, enrico franchi > ha scritto: > >> >> >> 2016-05-20 13:59 GMT+01:00 alessandro medici > >: >> >>> >>> - "multiprocessing" implica (a meno di eccezioni notevoli) "pickle di tutto" >>> >>> ? cioè i dati ve

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-21 Per discussione alessandro medici
Il giorno 21 maggio 2016 12:51, enrico franchi ha scritto: > > > 2016-05-20 13:59 GMT+01:00 alessandro medici > : > >> >> - "multiprocessing" implica (a meno di eccezioni notevoli) "pickle di >>> tutto" >>> >> >> ? cioè i dati vengono trasmessi via pickle e non via puntatori? Sure? >> O invece n

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-21 Per discussione enrico franchi
2016-05-20 18:48 GMT+01:00 alessandro medici : > https://www.chrisstucchio.com/blog/2013/why_not_python.html > > Forse meglio gli interventi che l'articolo. > +1 Il tizio ha ragione su alcuni punti, ma le argomentazioni che porta sono spesso del tipo ho un martello, quindi e' tutto un chiodo.

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-21 Per discussione enrico franchi
2016-05-20 13:59 GMT+01:00 alessandro medici : > > - "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

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-20 Per discussione alessandro medici
Il giorno 20 maggio 2016 16:42, Pietro Battiston ha scritto: > Il giorno ven, 20/05/2016 alle 16.26 +0200, alessandro medici ha > scritto: > ... > > Qualche aiuto/commento? Per caso usi pickle per passare copie di > > dati? > > Sorry, mi ero dimenticato di rispondere a questo. > > Non è purtroppo

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-20 Per discussione alessandro medici
Il giorno 20 maggio 2016 16:42, Pietro Battiston 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 > it> ha scritto: > > > > > > > - "multiprocessing" implica (a meno di eccezioni notevoli) > > > "pick

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-20 Per discussione Pietro Battiston
Il giorno ven, 20/05/2016 alle 16.26 +0200, alessandro medici ha scritto: > Il giorno 20 maggio 2016 16:05, Pietro Battiston it> ha scritto: > > >  > >  - "multiprocessing" implica (a meno di eccezioni notevoli) > > "pickle > > > > di > > > > tutto" > > > ? cioè i dati vengono trasmessi via pickl

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-20 Per discussione alessandro medici
Il giorno 20 maggio 2016 16:05, Pietro Battiston 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,

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-20 Per discussione Pietro Battiston
Il giorno ven, 20/05/2016 alle 14.59 +0200, alessandro medici ha scritto: > Il giorno 20 maggio 2016 14:12, Pietro Battiston > ha scritto: > > [...] > > Le due cose che _non_ menziona, e che credo possano essere > > rilevanti, > > sono: > > - il suo Macbook Pro ha (credo) 4 core fisici: se ne vede

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-20 Per discussione alessandro medici
Il giorno 20 maggio 2016 15:02, Marco Beri ha scritto: > 2016-05-20 14:59 GMT+02:00 alessandro medici > : >> >> Toh: un fiorire di suggerimenti :-) >> > > Vero. Amo questa lista. > > Ciao. > Marco. > Anch'io ho questa passione fetish. :-) Per tornare sul tema: Mi piace anche l'uso che hanno fa

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-20 Per discussione Marco Beri
2016-05-20 14:59 GMT+02:00 alessandro medici : > > Toh: un fiorire di suggerimenti :-) > Vero. Amo questa lista. Ciao. Marco. -- http://beri.it/ - Un blog http://beri.it/i-miei-libri/ - Qualche libro http://beri.it/articoli/ - Qualche articolo ___ Pyt

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-20 Per discussione alessandro medici
Il giorno 20 maggio 2016 14:12, Pietro Battiston ha scritto: > Il giorno ven, 20/05/2016 alle 11.56 +0200, Marco Beri ha scritto: > > 2016-05-20 11:46 GMT+02:00 Marco Beri : > > > 2016-05-20 11:39 GMT+02:00 Strap : > > > > Ciao a tutti, > > > > per curiosità, ma soprattutto per vedere l'effetto c

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-20 Per discussione Pietro Battiston
Il giorno ven, 20/05/2016 alle 14.12 +0200, Pietro Battiston ha scritto: > https://www.peterbe.com/plog/time-to-do-concurrent-cpu-bound-work > [...] > - "multiprocessing" implica (a meno di eccezioni notevoli) "pickle di > tutto" > Ehm... OK, questo ovviamente non c'entra nulla con nessuno dei su

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-20 Per discussione Pietro Battiston
Il giorno ven, 20/05/2016 alle 11.56 +0200, Marco Beri ha scritto: > 2016-05-20 11:46 GMT+02:00 Marco Beri : > > 2016-05-20 11:39 GMT+02:00 Strap : > > > Ciao a tutti, > > > per curiosità, ma soprattutto per vedere l'effetto che fa :-P, > > > condivido con > > > voi il seguente link: https://www.pe

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-20 Per discussione alessandro medici
Assai divertente. Ma noto che nell'ultimo esempio in https://www.peterbe.com/plog/deco inserisce una nuova voce (sicuramente univoca) in un dizionario creato esternamente (io non mi ero mai azzardato a farlo in un thread, solo a modificare il valore di una chiave già esistente). Ricordo al riguar

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-20 Per discussione Marco De Paoli
Il giorno 20 maggio 2016 11:56, Marco Beri ha scritto: > 2016-05-20 11:46 GMT+02:00 Marco Beri : > >> 2016-05-20 11:39 GMT+02:00 Strap : >> >>> Ciao a tutti, >>> per curiosità, ma soprattutto per vedere l'effetto che fa :-P, condivido >>> con >>> voi il seguente link: https://www.peterbe.com/plog

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-20 Per discussione Marco Beri
2016-05-20 11:46 GMT+02:00 Marco Beri : > 2016-05-20 11:39 GMT+02:00 Strap : > >> Ciao a tutti, >> per curiosità, ma soprattutto per vedere l'effetto che fa :-P, condivido >> con >> voi il seguente link: https://www.peterbe.com/plog/deco > > > Bello! Certo che tre sleep(5) in parallelo vanno bene.

Re: [Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-20 Per discussione Marco Beri
2016-05-20 11:39 GMT+02:00 Strap : > Ciao a tutti, > per curiosità, ma soprattutto per vedere l'effetto che fa :-P, condivido > con > voi il seguente link: https://www.peterbe.com/plog/deco Bello! Certo che tre sleep(5) in parallelo vanno bene. Vedo meno bene tre loop che fanno robe cpu intensi

[Python] Decorated Concurrency - Python multiprocessing made really really easy

2016-05-20 Per discussione Strap
Ciao a tutti, per curiosità, ma soprattutto per vedere l'effetto che fa :-P, condivido con voi il seguente link: https://www.peterbe.com/plog/deco Sani Strap ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python

Re: [Python] multiprocessing queue | pipe

2015-05-21 Per discussione Manlio Perillo
2015-05-21 10:35 GMT+02:00 Remo The Last : > ciao lista, buongiorno. > Sto appresso ad un problema semplice ma che non riesco a risolvere. > Nell'esempio che segue la def f, con il suo while, mi deve inviare sempre > i dati aggiornati (q.put) e il q.get nel main deve ricevere sempre i dati > della

Re: [Python] multiprocessing queue | pipe

2015-05-21 Per discussione Roberto Polli
Ciao Remo. Questo che fa? http://paste.fedoraproject.org/224120/99480143/ ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python

Re: [Python] multiprocessing queue | pipe

2015-05-21 Per discussione Marco Giusti
On Thu, May 21 2015, Remo The Last wrote: > ciao lista, buongiorno.Sto appresso ad un problema semplice ma che non > riesco a risolvere.Nell'esempio che segue la def f, con il suo while, > mi deve inviare sempre i dati aggiornati (q.put) e il q.get nel main > deve ricevere sempre i dati della def. 

[Python] multiprocessing queue | pipe

2015-05-21 Per discussione Remo The Last
ciao lista, buongiorno.Sto appresso ad un problema semplice ma che non riesco a risolvere.Nell'esempio che segue la def f, con il suo while, mi deve inviare sempre i dati aggiornati (q.put) e il q.get nel main deve ricevere sempre i dati della def. Il problema è che la def f viene eseguita una s

Re: [Python] multiprocessing e code per funzioni con più parametri...

2013-04-02 Per discussione Pietro
ok risolto! la coda era effettivamente inutile... il tutto si semplifica e di molto, grazie per i link. il codice funzionante è: #!python import multiprocessing as mltp def work((x, y)): return x * y pool = mltp.Pool() res = pool.map_async(work, zip(range(100), range(100, 200))) result

Re: [Python] multiprocessing e code per funzioni con più parametri...

2013-04-02 Per discussione Giorgio Zoppi
map+reduce? http://mikecvet.wordpress.com/2010/07/02/parallel-mapreduce-in-python/ Il giorno 02 aprile 2013 00:52, Pietro ha scritto: > Ciao a tutti, > > Sto utilizzando una funzione C su una grande matrice, questa operazione > richiede parecchio tempo e vorrei dividere la matrice in sotto mat

Re: [Python] multiprocessing e code per funzioni con più parametri...

2013-04-02 Per discussione Pietro
Ciao Enrico, 2013/4/2 Enrico Franchi > > On Apr 2, 2013, at 12:52 AM, Pietro wrote: > > Sto utilizzando una funzione C su una grande matrice, questa operazione > > richiede parecchio tempo e vorrei dividere la matrice in sotto matrici e > > lanciare un processo per ogni sotto-matrice… > > Io v

Re: [Python] multiprocessing e code per funzioni con più parametri...

2013-04-02 Per discussione Enrico Franchi
On Apr 2, 2013, at 12:52 AM, Pietro wrote: > Sto utilizzando una funzione C su una grande matrice, questa operazione > richiede parecchio tempo e vorrei dividere la matrice in sotto matrici e > lanciare un processo per ogni sotto-matrice… Io vorrei capire se quella cosa che hai postato e' so

[Python] multiprocessing e code per funzioni con più parametri...

2013-04-01 Per discussione Pietro
Ciao a tutti, Sto utilizzando una funzione C su una grande matrice, questa operazione richiede parecchio tempo e vorrei dividere la matrice in sotto matrici e lanciare un processo per ogni sotto-matrice... la funzione che voglio utilizzare ha più di un parametro, l'approcio che sto seguento mi se

Re: [Python] multiprocessing

2009-12-17 Per discussione Fabrizio Mancini
2009/12/17 Ernesto : > Ciao a tutti, > > tempo fa ho iniziato una discussione sul multi-threading da cui è > emerso che per lanciare più threads con python per aumentare le > prestazioni è più conveniente utilizzare la libreria multiprocessing. > Tuttavia no so se la mia scelta è sensata o meno. Ho

[Python] multiprocessing

2009-12-17 Per discussione Ernesto
Ciao a tutti, tempo fa ho iniziato una discussione sul multi-threading da cui è emerso che per lanciare più threads con python per aumentare le prestazioni è più conveniente utilizzare la libreria multiprocessing. Tuttavia no so se la mia scelta è sensata o meno. Ho a disposizione più di u