I'd like to run variations of my Raft test code on a fully
deterministic runtime (meaning only one thread, all
randomness from a pseudo RNG controlled with a repeatable seed).
I was looking at the standard (big) Go runtime, and I don't
see where there are any options to control the random number
generator there used for choosing a select, for instance,
but maybe I've missed some already available option?
Setting GOMAXPROC=1 apparently does not prevent other background threads
for GC, OS calls, etc... do I understand that right?
Trying to figure out if it would a smaller lift to hack some support into TinyGo,
whose typically microcontroller targets are single threaded, as
that would give me a big head start, or if the big Go runtime
places that would need pseudo RNGs replaced
are isolated enough for it do be doable (in a hacked up, non-supported
version, of course)... big Go would have better compatibility with
production code of course, but TinyGo is already more conceptually
aligned, and might be easier to maintain if the experiment is successful...
Thoughts?