Currently if you want to run Gourd locally it utilizes the Tokio backend to spawn every process as a blocking thread. Tokio allows up to 512 of these to exist concurrently until they are put in a queue.
While this may work for a test which cares about non-chronological information the large amount of concurrency may disturb any timing sensitive data. In conjunction with each process only getting to utilize a small amount of resources the feedback on whether or not tasks are completing is also lost.
I suggest we limit Tokio to only allow spawning a number of workers relative to the number of cores detected on the system.
Currently if you want to run Gourd locally it utilizes the Tokio backend to spawn every process as a blocking thread. Tokio allows up to 512 of these to exist concurrently until they are put in a queue.
While this may work for a test which cares about non-chronological information the large amount of concurrency may disturb any timing sensitive data. In conjunction with each process only getting to utilize a small amount of resources the feedback on whether or not tasks are completing is also lost.
I suggest we limit Tokio to only allow spawning a number of workers relative to the number of cores detected on the system.