News for hackers. Stuff that matters.
[dead]
Re:Building a patient monitoring system with Go and Vue in 3... by kortex on Saturday May 02, 2020 @12:28PM (#23052769)
Downvote because 5 minutes is absurd as a STW GC time, for ANY gc language. Heck, I wouldn't accept 5 minute lag in a python prototype.

Even in the dewey eyed early years, Go saw STW latency in the hundreds of milliseconds. By 1.8 it's in the hundreds of microseconds.

Your hard-real-time is out the window as soon as routing and UDP is involved. The intent is "real time bounded by the amount of time it would take doctors to react to a code blue (heart issue/failure". One second of reaction (thousands of gc's, dozens of health checks, a near eternity in program time) isn't going to make a difference when human reaction time latency is hundreds of milliseconds.

Call it "live streaming" if that sounds more objective, but conceptually if the clients (humans) don't perceive a difference in state, it's real time (to them).

Save the milliseconds-hard-real-time talk for rockets and cars.

https://blog.golang.org/ismmkeynote

https://www.reddit.com/r/golang/comments/aetba6/gcs_stw_paus...

Re:Building a patient monitoring system with Go and Vue in 3... by andi999 on Saturday May 02, 2020 @03:42PM (#23054331)
I agree with the absurd for any gc language, but doesnt mean it is not happening: https://plumbr.io/blog/garbage-collection/revealing-the-leng...

Would love to see a worst case analysis for go though. (My worry is, that long running applications are more prone to extensive gc stw, since os starts to swap pages, and gc tries to access them, might take a while)

Of course if you can guarantee that go always has stw gc for less than a second (or even 10 seconds) that would be great (and make go a hard real time language, of course not a very fast one)

Re:Building a patient monitoring system with Go and Vue in 3... by joshuak on Saturday May 02, 2020 @12:06PM (#23052557)
I'm sure that this is just hyperbole, but I can't imagine this not being a perfectly reasonable context in which to deploy a go application.

In my mind "real time" as a term of art applies to things like hardware control systems with very strict tolerances.

Although, as a hacking challenge I'd love to see the most catastrophic delay one could plausibly accidentally code into a go application.

Re:Building a patient monitoring system with Go and Vue in 3... by spyspy on Saturday May 02, 2020 @12:51PM (#23053018)
If your app stalls for 5 minutes you probably forgot to delete the time.Sleep() you threw in while debugging.
Re:Building a patient monitoring system with Go and Vue in 3... by buildbot on Saturday May 02, 2020 @01:43PM (#23053485)
Or you're in python and call asyncio.gather(*list_of_1_million_futures) That'll hang for a bit.
Re:Building a patient monitoring system with Go and Vue in 3... by onebot on Saturday May 02, 2020 @11:56AM (#23052473)
5 minute stop-the-world garbage collection? Go has done quite a bit to improve garbage collection times. I don't honestly believe that it could get anywhere nearly as bad as you imply it to be.