News for hackers. Stuff that matters.
Re:The Various Kinds of IO – Blocking, Non-Blocking, Multipl... by skate22 on Monday May 07, 2018 @07:19AM (#17011830)
I had written a program a while back that needed to load all of the customers outgoing emails from multiple large .pst files. I got a pretty big performance gain using a thread pool to do the io for all the files concurrently and block until they all finished with thread join() calls. (As opposed to loading them 1 after another)

The actual runtime difference for me was 40 mins -> 10 mins

Re:The Various Kinds of IO – Blocking, Non-Blocking, Multipl... by kccqzy on Monday May 07, 2018 @07:38AM (#17011926)
That's not really relevant. Both the article and the comment is talking about single-threaded I/O.
Re:The Various Kinds of IO – Blocking, Non-Blocking, Multipl... by skate22 on Monday May 07, 2018 @12:27PM (#17014042)
You may have missed the "multi threaded vs single threaded" section where they talk about a very similar pattern:

"The way it works is simple, it uses blocking IO, but each blocking call is made in its own thread. Now depending on the implementation, it either takes a callback, or uses a polling model, like returning a Future."

Re:The Various Kinds of IO – Blocking, Non-Blocking, Multipl... by gpderetta on Monday May 07, 2018 @09:13AM (#17012412)
It is very relevant. Both async io and multithreaded io are ways to extract parallelism. Which one is more appropriate depends on the characteristics of the problem.