in reply to Poor performances with threads

I think you are just running some intensive math computations, which is one of the slower aspects of perl, due to it's variable storage techniques.... threads run as a concurrent process... so yeah... the only thing you can do is find out the best way to run in separate processes. Your single process is being given a nice level by the kernel, and the many threads split that.

I've been away too long, but maybe there is a module available to increase the "nice" value of your threaded script..... it would be even cooler if you could adjust each thread's priority within the main process. Of course that may bog down your other apps.

But even if you get each computation in a separate process, you will still hit the limit of your computer's processing power..... if you went thru IPC, you might want to write the computational code in c

Maybe setup a Distributed Computing Network, and farm out the statistical computations to other machines... :-)


I'm not really a human, but I play one on earth.
Old Perl Programmer Haiku