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
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
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 ;)
>
>
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
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
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
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).
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
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:
>>
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...
>
>
> >>
> >> 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
>
> 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.
>
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
>>
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,
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
>
>
> 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
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"
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
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,
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
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
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"
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
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?
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)
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
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
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
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
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
> > >
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
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
>>>
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
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
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
38 matches
Mail list logo