Successfully reported this slideshow.
Your SlideShare is downloading. ×

Concurrencia en Crystal

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Ftp
Ftp
Loading in …3
×

Check these out next

1 of 12 Ad
Advertisement

More Related Content

Similar to Concurrencia en Crystal (20)

Advertisement

Concurrencia en Crystal

  1. 1. Buenos Aires - Crystal Meetup #1 Concurrencia En Crystal Juan Wajnerman jwajnerman@manas.com.ar
  2. 2. Concurrencia vs Paralelismo
  3. 3. Estado Actual ❖ Un único thread ❖ Corutinas cooperativas (Fibers) ❖ Event Loop ❖ Canales de Mensajes (CSP)
  4. 4. Un Proceso Crystal Fiber #1 Fiber #2 Fiber #3 Fiber #… Runtime Scheduler Event Loop Archivos Sockets Pipes Signals Timers Channels GC
  5. 5. Fibers ❖ Cooperativos ❖ Livianos (desde 4KB) ❖ En 32 bit: máx. 512 fibers ❖ En 64 bit: millones y millones... Fiber Stack (8MB) 4KB
  6. 6. Fibers spawn do # ... end
  7. 7. Event Loop Event Loop Fiber libevent epoll, kqueue, etc… Sistema Operativo
  8. 8. Event Loop spawn do ... @socket.read(…) ... end spawn do ... sleep 5 ... end
  9. 9. Canales ❖ Permiten comunicar fibers sin compartir memoria ❖ Basados en CSP, similares a los canales de Go ❖ Dos tipos: ❖ Unbuffered ❖ Buffered
  10. 10. DEMO
  11. 11. Futuro ❖ Operador select para multiplexar operaciones en un mismo fiber ❖ Multithreading ❖ Loop fiber nativo (sin libevent)
  12. 12. ¡Gracias! Juan Wajnerman email: jwajnerman@manas.com.ar @wajtwitter:

×