Webcamp Zagreb 2013

Webcamp Zagreb 2013

Slides for a talk "Concurrency" that I gave at Webcamp Zagreb.

Feb47da2c35970e555c30f044007daab?s=128

Goran Peretin

October 27, 2013
Tweet

Transcript

  1. Concurrency @gperetin Sunday, October 27, 13

  2. Goran Peretin (@gperetin) Sunday, October 27, 13

  3. Goran Peretin (@gperetin) Sunday, October 27, 13

  4. Goran Peretin (@gperetin) Sunday, October 27, 13

  5. Goran Peretin (@gperetin) Sunday, October 27, 13

  6. Sadržaj Concurrency Parallelism Problemi/rješenja Sunday, October 27, 13

  7. Sunday, October 27, 13

  8. Demo time! Sunday, October 27, 13

  9. Python3 & Ruby Sunday, October 27, 13

  10. Concurrency Izvršavanje više taskova u nekom vremenskom periodu. Sunday, October

    27, 13
  11. Parallelism Izvršavanje više taskova istovremeno. Sunday, October 27, 13

  12. Concurrency != Parallelism Sunday, October 27, 13

  13. Process-based concurrency task == proces Sunday, October 27, 13

  14. Thread-based concurrency task == thread Sunday, October 27, 13

  15. GIL (Ruby & Python) • Global Interpreter Lock • dva

    threada se ne mogu izvršavati istovremeno Sunday, October 27, 13
  16. Ruby i Python ne mogu imati thread-based parallelism. Sunday, October

    27, 13
  17. PHP Sunday, October 27, 13

  18. PHP • PHP nema threadove • Nije thread-safe • PHP-FPM

    • Apache (mod_php) Sunday, October 27, 13
  19. Java & .NET Sunday, October 27, 13

  20. Java & .NET Sunday, October 27, 13

  21. Problemi? • broj procesa i threadova • RAM Sunday, October

    27, 13
  22. Blocking I/O OS pauzira thread koji napravi I/O request. Za

    izvršavanje drugog requesta treba nam novi thread. Sunday, October 27, 13
  23. Rješenja? Non-blocking I/O Lightweight processes Sunday, October 27, 13

  24. Non-blocking I/O Twisted, Tornado EventMachine Node.js Sunday, October 27, 13

  25. Lightweight processes Erlang (actors) Go (goroutines) --- Python (greenlets) Ruby

    (fibers) Sunday, October 27, 13
  26. Što da koristim? Sunday, October 27, 13

  27. Hvala! Pitanja? Sunday, October 27, 13