Remix.run Logo
zozbot234 10 months ago

> an industrial control system. It needs to manage valves and pumps and sensors in a performant and accurate and reliable manner

How does it deal with GC pauses? Wouldn't they introduce unacceptable jitter for this kind of application?

Anyway, it's relatively straightforward to rewrite from Go to Rust if you aren't doing things that essentially rely on GC (which is quite rare).

glonq 10 months ago | parent | next [-]

A PLC controller deals with anything that requires tight timing, so the Go portion is mostly higher-level control of the system and states.

AstralStorm 10 months ago | parent [-]

So only high level non-safety-critical code, I see.

I hope someone properly checked that no safety properties depend on Go there. I bet nobody actually did so...

binary132 10 months ago | parent | prev [-]

Go’s GC is pretty snappy these days, but I don’t think it’s that snappy. :)