[LatinaLUG] I/O asincrono, davvero ;)

Roberto Polli robipolli@gmail.com
Ven 24 Ago 2012 15:37:32 CEST


Il giorno 24/ago/2012 14:32, "Sandro Mosca" <stoke95@gmail.com> ha scritto:
>
> L' I/O che "non si blocca" è semplicemente un nome, ovvio che un I/O per
definizione si blocchi prima o poi.

Appunto ;)

> Comunque se hai altri link
Si, quando torno dalle vacanze te li passo.


> Ovviamente si può programmare con I/O asincrono in qualsiasi linguaggio,
il problema è che alcune volte è abbastanza ostico.

Esattamente quello che dicevo ;)

Manda la proposta di talk. Se è troppo complessa ti trovo un posto più
cazzuto dove mandarla.

Pace e buone vacanze,
Rob

> Node.js è un framework che sta avendo molto successo


, perché:
>
> 1) E' Javascript
>
> 2) Rende la programmazione asincrona veramente, veramente semplice.
>
> Per quanto riguarda la complessità delle richieste, se si usano anche
altre lib asincrone (ovviamente se l'I/O è asincrono, lo saranno anche i
socket, se lo sono i socket, le lib per l'accesso a qualsiasi db saranno
asincrone) non c'è un vero e proprio calo: transloadit (
https://transloadit.com/) è un servizio per l'encoding di video, audio ed
immagini, basato completamente su node.js, e difficilmente riesco a pensare
a delle richieste più complesse di quelle.
>
> Il giorno 24 agosto 2012 08:54, Roberto Polli <robipolli@gmail.com> ha
scritto:
>
>> Penso che per i talk vada benissimo un argomento più leggero ;)
>>
>> Il libro te lo consiglio per cultura personale perché è molto bello.
Mi.fa piacere che un giovane conosca tutte ste cose.
>>
>> Se invece ne sai già abbastanza e volessi approfondire ulteriormente fai
sapere e ti giro altri link.
>>
>> Sull'io asincrono, ovviamente esiste. Non è un io «che non si blocca» ma
è appunto asincrono. Se non si blocca all'inizio si bloccherà alla fine :P
>>
>> E che non dipende dal linguaggio di programmazione ma dal programmatore
;)
>>
>> Su nginx ok, ma distingui la capacità di processare tante richieste da
quella di processare richieste complesse.
>>
>> Sono curioso sulla tua proposta di talk: sarà sicuramente interessante.
>>
>> Se hai qualcosa di più pesante considera la possibilità di partecipare a
qualche conferenza: gli mandi paper on line e se  lo accettano bella per te.
>>
>> Pace,R
>>
>> Il giorno 23/ago/2012 23:30, "Sandro Mosca" <stoke95@gmail.com> ha
scritto:
>>
>>> Allora mi sa che non ci siamo capiti dall'inizio.
>>>
>>> Quel libro è sull'I/O base di linux (che tral'altro già conosco). Se
volevo fare un talk su come il kernel gestisce l'accesso ai file lo dicevo
da subito.
>>>
>>> Libuv (https://github.com/joyent/libuv) è una lib cross-platform per
l'astrazione di altre librerie (IOPL e libev), che servono proprio per
utilizzare l'async I/O, che per inciso esiste, e consiste semplicemente nel
fatto di avere la possibilità di continuare l'esecuzione del programma
senza aspettare che l'input sia completamente arrivato.
>>>
>>> L'async I/O e la conseguenziale programmazione event-driven stanno
avendo molto successo, poiché diventa molto più semplice gestire problemi
concorrenziali, la memoria usata è molto bassa (essendoci un numero
limitato e predefinito di thread), e per le sue performance molto
soddisfacenti.
>>>
>>> Un classico esempio di server http buildato con questa tecnologia è
nginx (http://nginx.org/), so che una volta era usato da youporn (possiamo
ben immaginare che tipo di richieste deve processare un web server in caso
di un sito così conosciuto e di contenuto così spinto).
>>>
>>> Il giorno 23 agosto 2012 21:43, Roberto Polli <robipolli@gmail.com> ha
scritto:
>>>>
>>>> Per l'i/o asincrono può interessarti questo. Nei capitoli su read e
write illustra molto bene le problematiche dell'i/o, l'uso delle cache, ...
>>>>
>>>> LibUv ovviamente è un' altra cosa ;)
>>>>
>>>> Pace, Rob
>>>>
>>>> http://seesee.pbworks.com/f/linux.pdf
>>>>
>>>>
>>>> _______________________________________________
>>>> http://www.llg.it
>>>> latina mailing list
>>>> latina@lists.linux.it
>>>> http://lists.linux.it/listinfo/latina
>>>>
>>>
>>>
>>> _______________________________________________
>>> http://www.llg.it
>>> latina mailing list
>>> latina@lists.linux.it
>>> http://lists.linux.it/listinfo/latina
>>>
>>
>> _______________________________________________
>> http://www.llg.it
>> latina mailing list
>> latina@lists.linux.it
>> http://lists.linux.it/listinfo/latina
>>
>
>
> _______________________________________________
> http://www.llg.it
> latina mailing list
> latina@lists.linux.it
> http://lists.linux.it/listinfo/latina
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.linux.it/pipermail/latina/attachments/20120824/f5648695/attachment.htm>


Maggiori informazioni sulla lista latina