2011/12/10 Massimo Di Stefano <span dir="ltr"><<a href="mailto:massimodisasha@gmail.com">massimodisasha@gmail.com</a>></span><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div style="word-wrap:break-word">Ciao Henryx,</div></blockquote><div><br></div><div>Credo che tu ti stia confondendo con un mio omonimo.  </div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div style="word-wrap:break-word"><div></div><div>premetto che tutto quello che so di computer e python … l'ho imparato grazie a voi (comunità')</div><div>purtroppo non ho studiato informatica e di sicuro ho tutto da imparare da questa discussione.</div>

<div><br></div><div>Non ho esperienza tale da capire come funzionano i thread,  ho difficoltà' a capire come funzionano i look e metodi associati ad esso, cosa sia una queue e come la si usa</div><div>sto provando ad imparare … autodidatta, ma ci sto provando.</div>

</div></blockquote><div><br></div><div>Dai pero' almeno i lock chiamali con i loro nomi! In due post non hai manco azzeccato il nome :P</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div style="word-wrap:break-word"><div><br></div><div>nella maggior parte dei casi tutti mi dicono che i thread siano "il male", a me pare che invece "risolvano problemi".</div></div></blockquote><div>

<br></div><div>Risolvono problemi. Ma ne creano piu' di quelli che risolvono. Per esempio, finche' non capisci *bene* come usare i lock stai facendo l'equivalente computeristico di buttarti in un incrocio senza guadare se arriva qualcuno. prima o poi ciocchi.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div style="word-wrap:break-word"><div><div><div>vero se decido di usare brew, port fink o altro</div><div>

quindi un potenziale user sarebbe "costretto" </div><div>ad installarsi xcode, brew (ottimo) .. o altro port/fink rtc etc ...</div><div>certo non e' la fine del mondo, ma …  di sicuro non e' la soluzione ottimale se devo far usare lo script a terze persone.</div>

</div></div></div></blockquote><div><br></div><div>Questo e' in essenza un falso problema. Male che vada dai due botte di pyinstaller.</div><div>Altrimenti specifichi le dipendenze e se uno vuole usare un software se le scarica. I miracoli non li puoi fare.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div style="word-wrap:break-word"><div><div><div>un altro problema riscontrato sone errori e velocita'</div>

<div>quando il numero di file da scaricare (sono tutti di pochi kbyte) </div><div>aumenta, thread si prende un bel margine se comparato con gevent.</div><div>nei test che sto provando i file sono 25</div><div>thread per leggere scaricare e processare i file di testo ci mette circa 5 secondi, gevent 18</div>

</div></div></div></blockquote><div><br></div><div>Tutto questo e' controintuitivo. Mi sarei aspettato il contrario.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div style="word-wrap:break-word"><div><div><div>ma il problema più grande e' che gevent una volta su 10 mi da un I/O error</div><div>penso sia dovuto alla rete (per fare i test ho dovuto fermare il download di alcuni torrent che mi saturavano la banda) </div>

<div>cosi' facendo gli errori sono diminuiti .. ma non scomparsi.</div></div></div></div></blockquote><div><br></div><div>Ho un'idea sul perche': direi che la libreria di torrent non "gioca carino".</div>

<div>Bisognerebbe andare dentro a vedere.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div style="word-wrap:break-word"><div><div><div></div><div>

l'utilizzo di thread non da questo problema.</div><div class="im"><div><br></div></div></div></div></div></blockquote><div><br></div><div>Mancano dettagli specifici. Se ti va bene, sei praticamente in shared nothing e non dovresti avere problemi con i threads. Mi aspetterei tuttavia delle performance non particolarmente superiori al caso sequenziale. </div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div style="word-wrap:break-word"><div><div><div>ho scoperto gevent da 2 giorni grazie a tyrion-mx [grazie!] </div>

<div>sto leggendo la documentazione, e' davvero bello e non ne sapevo l'esistenza … le coroutine sembrano qualcosa di magico.</div></div></div></div></blockquote><div><br></div><div>Non lo sono, in realta'. E' molto simile a come ciascuno di noi gestisce la concorrenza. </div>

<div>E' anche intuitivo: sai fare tante cose insieme una per volta. Ma se non ti interrompi ogni tanto, non le fai tutte insieme, ma vai avanti a farne sempre una.</div><div><br></div><div><br></div></div><div><br></div>

-- <br> .<br>..: -enrico-<br>