in reply to WorkCrew threading

If you're going to gain performance from threading (or forking for that matter) on a single CPU it's going to be by separating stuff like IO bound actions (reading or writing to disk) from the processing work. However if you design for it you can have code that probably should scale better when more processors are available (i.e. you're taking a threading overhead hit on single processor boxen in order to get better performance by conditionally spawning more workers on boxen with more than one).