...instead of "Process allSubInstances". The caveat is this: process creation gets a little bit slower while accessing the list of runnable *and* waiting processes gets about 40x faster:

[ [] newProcess terminate ] bench.
AFTER: '140,000 per second. 7.13 microseconds per run. 35.02 % GC time.'
BEFORE: '224,000 per second. 4.47 microseconds per run. 4.38 % GC time.'

[ aProcessBrowser updateProcessList ] bench. -- allow quick updates
AFTER: '4,410 per second. 227 microseconds per run. 77.34453 % GC time.'
BEFORE: '118 per second. 8.47 milliseconds per run. 2.59792 % GC time.' 

Why do we need this? If you have an auto-updating ProcessBrowser running in the background while doing time-sensitive benchmarks, you want a fast ProcessBrowser :-)

Please see the attached change set. Thanks to Leon and Eliot for the hint!

Best,
Marcel