Workroute does not allow JSHelperClasses to use either Object.sleep() or Object.wait(), so I created a workflow with a busy-loop inside of it to cause operations to pause. (Yes, I'm aware that the proper way to handle delays in Workroute is with delay nodes, but some people may be interested in how Workroute behaves when busy-loops are involved.) Spawning a couple hundred of these one-node processes (all using the same document as an attachment) took around 3 minutes: each process seems to be queued up for creation in Workroute, and after all incoming requests to create a process have been queued up, Workroute then goes about instantiating each process:
<ol>
<li>For each new process:</li>
<ol>
<li>A new row is entered into processInstances</li>
<li>The new row's label is changed to match the given label</li>
</ol>
<li>Then, for each new process:</li>
<ul>
<li>The state is changed from 3 to 7</li>
</ul>
<li>Then, for each new process:</li>
<ul>
<li>Processing starts and finishes</li>
</ul>
</ol>
Waiting for all 200 processes to complete (i.e. disappear from the workflow watchlist and show up in an end-state in the processInstances table) took 2.75 hours. Judging from the teamflowdb:

rocessInstances table, Workroute seems to be handling processes in order, and in so doing, seems to be blocking on each process while executing a script. Tests with more than one node will reveal whether this behavior is actually in-order or (instead) round-robin; I suspect that the behavior is actually round-robin. I understand that in a case where all the processes have the same attachment, it may be unsafe. However, I am currently running a second test with 200 processes, each without an attachment, and the behavior is the same. Is there any way to allow Workroute to concurrently update the status of more than one process at a time?
Interesting other note: the OR nodes print out debugging information to stdout, and viewing the Workroute stdout log reveals that individual processes are executing (and blocking) one after another. Perhaps there is a way to have Workroute utilize multiple process/template interpreter instances?
Just curious.