Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Non-blocking IO for the masses (WebEngDUS)

Non-blocking IO for the masses (WebEngDUS)

I/O is everywhere. I/O is slow. There's no denying it. Using traditional blocking I/O calls can thus be seen as a huge contributor to slow applications. This talk discusses how non-blocking I/O can help in building high performance, event-driven, reactive, concurrent, single-threaded applications (bingo). Don't worry, no need to install Node.js and npm install half the internet. Let's build high-performance applications from scratch with whatever language you're most comfortable with!

---

This talk was presented at WebEngDUS (https://www.meetup.com/de-DE/Web-Engineering-Duesseldorf/events/252097938/) as one of three talks this day (~20 min each). This implies that this is only supposed to be a 101 introduction.

You can find the examples (source code) here: https://gist.github.com/clue/e0425c34c0ab13e8496716aae0219245

Christian Lück

July 12, 2018
Tweet

More Decks by Christian Lück

Other Decks in Programming

Transcript

  1. Agenda - Hello! - 101 of non-blocking I/O - Examples

    from scratch - Putting into practice - Conclusions 2
  2. Who are you? 14 now that you know me… -

    programmers / developers? - architects / engineers?
  3. I/O is everywhere third party HTTP APIs (RESTful, SOAP, you

    name it…) mysql, postgres filesystem I/O (session files) 25
  4. I/O is everywhere third party HTTP APIs (RESTful, SOAP, you

    name it…) mysql, postgres filesystem I/O (session files) redis, memcache 26
  5. 48

  6. 53

  7. 54

  8. 61

  9. 5k requests/s 64 this is a local single core benchmark!

    dual core i3 => 10k requests/s 36M requests/h
  10. when? 71 app is I/O bound high(er) performance is wanted

    blocking and non-blocking can be separated
  11. 86

  12. 87