A very interesting slide deck comparing sync and async IO

Ola Fosheim Grøstad via Digitalmars-d digitalmars-d at puremagic.com
Sat Mar 5 00:20:14 PST 2016


On Friday, 4 March 2016 at 23:10:28 UTC, deadalnix wrote:
>> Not if it is hyper-threaded, as pairs of threads are sharing 
>> resources.
>
> Irrelevant.

I knew you would say that, but you are wrong.

> async do not make any sense on a DB. You want async when you 
> are bound by a 3rd party system.

Err... no. You want async when you are CPU-bound and are looking 
for better latency and more control. On linux you can use async 
to bypass the kernel caches and access disk blocks, basically 
reimplementing things that are usually done in kernel space in 
your user space application (at the cost of adding significant 
complexity to your application).

What you get out of it depends on what you want, if you use a 
distributed setup, the drivers, the hardware and many other 
factors.



More information about the Digitalmars-d mailing list