My two cents

Satoshi satoshi at rikarin.org
Tue Oct 24 07:29:08 UTC 2017


On Monday, 23 October 2017 at 15:21:02 UTC, Kagamin wrote:
> On Friday, 20 October 2017 at 09:49:34 UTC, Adam Wilson wrote:
>> Others are less obvious, for example, async/await is syntax 
>> sugar for a collection of Task-based idioms in C#.
>
> Now I think it's doesn't fit D. async/await wasn't made for 
> performance, but for conservation of thread resources, async 
> calls are rather expensive, which doesn't fit in D if we prefer 
> raw performance. Also I found another shortcoming: it doesn't 
> interoperate well with cache: cache flip flops between 
> synchronous and asynchronous operation: when you hit cache it's 
> synchronous, when you miss it it performs IO.


Actually, async/await should be faster and safer than running 
same blocking code in another thread and then syncing between 
them.

If we want to use D for GUI development we will need this feature 
anyway. It's the easiest solution how to run blocking functions 
in GUI callback without freezing, it reduces bugs and callback 
hell. Look at Javascript and Node.js (I think).


More information about the Digitalmars-d mailing list