4 ms·
Go is also a GC language.
by xoluxo123 10y ago
Go is also a GC language.
- jamra 10y agoIt has pretty low pause times by the GC.
- jjawssd 10y agoYep, around 2 milliseconds for most programs https://sli.mg/1RmNsB https://sli.mg/1RmNsB
- im_down_w_otp 10y agoTwo-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.
- pjmlp 10y agoOSes 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.
- snaky 10y agoOr 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-ethernet-device-driver/ http://lukego.github.io/blog/2013/01/03/snabb-switchs-luajit...
- naasking 10y ago> 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.