Re: [Python] Insiemi e multiprocessor.

2016-05-28 Per discussione Pietro Battiston
Il giorno sab, 28/05/2016 alle 00.17 +0200, alessandro medici ha
scritto:
> In effetti, cercando un termine più adeguato, forse 'categorie'
> sarebbe più corretto.
> E 'categorizzare' (odio queste parole in zzare), il lavoro che
> potrebbe fare un metodo
> della classe scritto in pyDialog.
> 

Non conosco pyDialog e non ho capito bene cosa cerchi... ma magari
questo può interessarti:
http://docs.sympy.org/dev/modules/sets.html

Pietro

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Practical lock-free concurrency (in C++)

2016-05-28 Per discussione alessandro medici
La seconda parte vedrò di non perdermela:

http://www.oreilly.com/pub/e/3735?imm_mid=0e442b&cmp=em-prog-na-na-newsltr_20160528

La prima parte è qui:

http://www.oreilly.com/pub/e/3706

Alex
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Insiemi e multiprocessor.

2016-05-28 Per discussione alessandro medici
>
>
> > In effetti, cercando un termine più adeguato, forse 'categorie'
> > sarebbe più corretto.
> > E 'categorizzare' (odio queste parole in zzare), il lavoro che
> > potrebbe fare un metodo
> > della classe scritto in pyDialog.
> >
>
> Non conosco pyDialog e non ho capito bene cosa cerchi... ma magari
> questo può interessarti:
> http://docs.sympy.org/dev/modules/sets.html
>
> Pietro
>
> Grazie. E' borderline rispetto a cosa cercavo, ma per certe cose sarà
sicuramente
assai utile.

alex
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Insiemi e multiprocessor.

2016-05-28 Per discussione Pietro Battiston
Il giorno ven, 27/05/2016 alle 15.07 +0200, alessandro medici ha
scritto:
> 
> ps: anche se non c'entra una mazza: a voi risulta che Anaconda
> implementi il threading 
> in modo molto più efficiente (intendo veloce) di Cpython su Linux?

Non c'entra una mazza Anaconda con Cpython semmai ;-)

O meglio: non sono alternativi. Se ti installi Anaconda, utilizzerai
sempre e comunque (di norma) Cpython.

Pietro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] pensierino della sera sul multiprocessing, sul cambiare le carte in tavola, sui seg-fault e sulla memoria già condivisa,

2016-05-28 Per discussione Manlio Perillo
2016-05-27 23:52 GMT+02:00 alessandro medici :
> Stasera, giusto per prender sonno, stavo leggendo Python Parallel
> Programm etc. etc. Comprato in una svendita online col 75% di sconto :-)
>
> [NON E' PUBBLICITA': Scritto bene nella parte teorica e nello spiegare, a
> parte qualche sassolino. Almeno per quel che ne posso dire io. Molto meno
> bene (quasi pessimo?) nel codice stampato, poco meglio lo scaricabile. Poco
> importa però e forse: sciocchezze e questioni di stile, e mi sembra anche
> che da qualche parte scriva che il suo testo non sia proprio da neofiti]
>
> Ma sorry: vedo anche due cose:
>
> 1° è l'uso estensivo dei dizionari creati nel processo padre ed aggiornati
> dai processo figlio, sia nelle voci che nel contenuto. Un giro rapido e,
> stupore, non solo i dizionari, ma anche liste.

Scusa, ma hai letto la documentazione del modulo multiprocessing?

Ci sono due modi per condividere oggetti:
https://docs.python.org/3/library/multiprocessing.html#sharing-state-between-processes

Il primo utilizza memoria condivisa protetta da lock, e funziona solo
per tipi primitivi:
https://docs.python.org/3/library/multiprocessing.html#shared-ctypes-objects

Il secondo fa uso essenzialmente di message passing:
https://docs.python.org/3/library/multiprocessing.html#managers

Il modulo offre semplicemente degli oggetti che si comportano come
dict o come list

> L'unica cosa che non ho visto
> fare è applicare il metodo __del__, cosa comprensibile, peraltro, almeno per
> la salute mentale del memory manager.

Non c'è nessun memory manager, e __del__ è supportato senza problemi
perchè altrimenti non sarebbe un dict.

> Ecco: basterebbe FORSE creare un'altro dizionario delle voci che andrebbero
> cancellate e poi, magari, farlo dopo?

?

> Ok, 1° compito prima delle vacanze: Ma i dizionari sono pressoché gli unici
> oggetti composti che si possono aggiornare in multiprocess?
>

Vedi sopra.
Semplicemente dict e list sono predefiniti perchè i più richiesti.

> La 2° viene dall'altra idea:
> Mi era venuto subito in mente quando lessi l'articolo che postai qualche
> giorno addietro, quel qualcosa sul cambiare le ruote alla bici mentre si
> pedala:
> http://mathamy.com/python-wats-mutable-default-arguments.html
> cosa succederebbe se cambiassi le variabili di default di una classe o di un
> metodo mentre la loro progenie è occupata in un processo? Magari in una ABC
> genitore?
>
> Forse nulla. Forse dipenderà dal metodo con cui si lanceranno i processi?
> (https://docs.python.org/3.5/library/multiprocessing.html#the-spawn-and-forkserver-start-methods
> usa inherits ma non chiarisce se intende 'copiare' o 'linkare')
>

> [...]

Ti consiglio di leggere un buon libro su come ci si interfaccia con il
kernel di un sistema UNIX.
Ad esempio
The Linux Programming Interface: A Linux and UNIX System Programming Handbook
o il classico
Advanced Programming in the UNIX Environment


Ciao  Manlio
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] pensierino della sera sul multiprocessing, sul cambiare le carte in tavola, sui seg-fault e sulla memoria già condivisa,

2016-05-28 Per discussione alessandro medici
>
>
> Ti consiglio di leggere un buon libro su come ci si interfaccia con il
> kernel di un sistema UNIX.
> Ad esempio
> The Linux Programming Interface: A Linux and UNIX System Programming
> Handbook
> o il classico
> Advanced Programming in the UNIX Environment
>

Grazie dei suggerimenti :-)

Ma stai anche dicendo che le stesse procedure valgono per windows?

Alex
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


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 qualunque tipo di I/O in sto modello. Tu qui ti troveresti a
volere fare girare Python arbitrario dentro transazioni.

Che voglio dire... ci stiamo arrivando. O meglio, Armin Rigo ci sta
arrivando... ed e' tipo in completa avanguardia (ovvero, quelli che ci
hanno provato prima hanno fallito per vari motivi).


-- 
.
..: -enrico-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python