News for hackers. Stuff that matters.
Re:Systems Programming in C# by Joe Duffy by im_down_w_otp on Saturday June 18, 2016 @11:01PM (#11931628)
Two-milliseconds is an eternity in kernel time. That's wired round-trip time between two GigE endpoints on Linux's mediocre TCP/IP stack.

Now imagine you stacked 2ms GC pauses into that level of the system. That would be a barely serviceable kernel. Forget any real-time facilities.

Re:Systems Programming in C# by Joe Duffy by pjmlp on Sunday June 19, 2016 @01:47AM (#11931940)
OSes written in GC enabled systems programming languages always allowed for controlling the GC behaviour.

So you can have a GC free TCP/IP stack, while enjoying the GC comfort in areas where the 2ms pause aren't an issue.

Re:Systems Programming in C# by Joe Duffy by snaky on Sunday June 19, 2016 @03:30AM (#11932159)
Or maybe even not completely GC-free [1]. What might be especially helpful is a good JIT that could reoptimize the code on-the-fly, when data patterns changes. Maybe performance level of 'data-guided optimization' provided by (controllable) GC and state-of-the-art JIT could beat down traditional approach someday.

http://lukego.github.io/blog/2013/01/03/snabb-switchs-luajit...

Re:Systems Programming in C# by Joe Duffy by naasking on Sunday June 19, 2016 @08:56AM (#11932810)
> Now imagine you stacked 2ms GC pauses into that level of the system. That would be a barely serviceable kernel. Forget any real-time facilities.

Real-time just means bounded latency. If 2ms was a hard upper bound, that's hard realtime. If it's ~90% bounded by 2ms with a small variance, that's soft realtime.