<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">2014/1/3 Manlio Perillo <span dir="ltr"><<a href="mailto:manlio.perillo@gmail.com" target="_blank">manlio.perillo@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
No, direi che è banale.<br>
Usi Apache + mod_wsgi e spendi tanti bei soldi in hardware :)</blockquote><div><br></div><div>Ok. Quindi non riesci a farlo scalare.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Vedi il fatto che su Windows hai solo l'equivalente di posix_aio ma non quello di epoll/kqueue. Potrei continuare all'infinito...<br></blockquote><div><br></div><div>Parliamo poi del fatto che anche solo avere epoll e non kqueue e' una discreta rottura di palle...</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
L'altra mancanza grave è l'implementazione dei "protocolli" di comunicazione. Nella libreria standard di Python (ma non solo) hai praticamente dei *giocattoli*. Le implementazioni serie sono nei framework asincroni, ed **ognuno** reimplementa tutto e funziona solo con quel framework. La libreria standard di Python reinventerà tutto di nuovo, perchè avrà il suo bel framework asincrono, su cui poi si dovranno reimplementare tutti i protocolli.<br>
</blockquote><div><br></div><div>Gia'. Ovviamente per motivi politici sarebbe stato un casino sceglierne uno. </div><div>In realta' non mi dispiace nemmeno, a patto che sia veramente una "lesson learned" che partano da 0. Ovviamente se riescono a prendere il meglio di quello che c'e' e lasciare fuori le cazzate.</div>
<div><br></div><div>Oh, alla fine dei conti, nei primi anni 90, quando Python nasceva, non si pensava ai framework asincroni.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
L'API migliore che ho visto è quella della libpq, per la cronaca.<br>
Migliore perchè non dipende da nessun framework, e si mantiene usabile.<br></blockquote><div><br></div><div>ah... gia'. Ma anche il buon vecchio zero non e' che scherza...</div><div>Specie la nuova re-implementazione, promette meraviglie.</div>
<div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
E' vero che ci sono dei monkey patch per alcune funzioni della<br>
libreria standard, ma non ritengo sia saggio affidarsi ciecamente a<br>
loro.<br>
<br>
<br>
Funzionicchiano, via. Parlo di gevent, non so quelli di tornado.<br>
<br>
</blockquote>
<br></div>
Visto che Tornado usa gevent, immagino si basi su quelli.</blockquote><div><br></div><div>Gia', ma non so se aggiunge altro che complica il tutto. </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 class="im">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Python e la libreria standard semplicemente non sono pensati per<br>
un ambiente a green thread.<br><br>
Ma no, se hai un martello sufficientemente grande (e non hai paura di<br>
usarlo) si fa tutto. ;)<br>
</blockquote>
<br></div>
Incluso scassare tutto alla prima disattenzione. ;)</blockquote><div><br></div><div>Chiaro. Fa parte del gioco...</div><div> </div></div><div><br></div>-- <br> .<br>..: -enrico-
</div></div>