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
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?
>>
>>
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
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
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
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
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
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
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
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
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
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
>
>
> >>
> >> 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
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
>
> 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
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
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
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.
___
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
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
>
>
> 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
>
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
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
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
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.
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
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
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
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
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,
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
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
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
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
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
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
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
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
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.
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
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
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
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
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.
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
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
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
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
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
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
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
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
52 matches
Mail list logo