Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Buenos Aires - Crystal Meetup #1
Concurrencia
En Crystal
Juan Wajnerman
jwajnerman@manas.com.ar
Concurrencia
vs
Paralelismo
Estado Actual
❖ Un único thread
❖ Corutinas cooperativas (Fibers)
❖ Event Loop
❖ Canales de Mensajes (CSP)
Un Proceso Crystal
Fiber
#1
Fiber
#2
Fiber
#3
Fiber
#…
Runtime
Scheduler
Event Loop
Archivos
Sockets
Pipes
Signals
Timers
...
Fibers
❖ Cooperativos
❖ Livianos (desde 4KB)
❖ En 32 bit: máx. 512 fibers
❖ En 64 bit: millones y millones...
Fiber
Stack
(...
Fibers
spawn do
# ...
end
Event Loop
Event Loop Fiber
libevent
epoll, kqueue, etc…
Sistema Operativo
Event Loop
spawn do
...
@socket.read(…)
...
end
spawn do
...
sleep 5
...
end
Canales
❖ Permiten comunicar fibers sin compartir memoria
❖ Basados en CSP, similares a los canales de Go
❖ Dos tipos:
❖ Un...
DEMO
Futuro
❖ Operador select para multiplexar operaciones en un
mismo fiber
❖ Multithreading
❖ Loop fiber nativo (sin libevent)
¡Gracias!
Juan Wajnerman
email: jwajnerman@manas.com.ar
@wajtwitter:
Upcoming SlideShare
Loading in …5
×

of

Concurrencia en Crystal Slide 1 Concurrencia en Crystal Slide 2 Concurrencia en Crystal Slide 3 Concurrencia en Crystal Slide 4 Concurrencia en Crystal Slide 5 Concurrencia en Crystal Slide 6 Concurrencia en Crystal Slide 7 Concurrencia en Crystal Slide 8 Concurrencia en Crystal Slide 9 Concurrencia en Crystal Slide 10 Concurrencia en Crystal Slide 11 Concurrencia en Crystal Slide 12
Upcoming SlideShare
Por qué Crystal? Why Crystal Language?
Next
Download to read offline and view in fullscreen.

1 Like

Share

Download to read offline

Concurrencia en Crystal

Download to read offline

Juan Wajnerman habla sobre la concurrencia en el lenguaje Crystal.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

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:
  • megatux

    May. 18, 2018

Juan Wajnerman habla sobre la concurrencia en el lenguaje Crystal.

Views

Total views

2,486

On Slideshare

0

From embeds

0

Number of embeds

1,015

Actions

Downloads

5

Shares

0

Comments

0

Likes

1

×