battlecode-server-2017
battlecode-server-2017 copied to clipboard
Run competitor code in coroutines
Basically, when user code is done running or blocked, instead of pausing the whole OS thread, we take a snapshot of the state of their code and then switch to running a different competitor's code.
See: Matthias Mann's coroutine library Kilim Commons JavaFlow For existing implementations of this concept.