Have you considered offloading some of the more CPU intensive portions of the application to C? Please don't mod me down for this, but when your program has to a lot in a short amount of time, Perl is not generally the best solution.
"Never take yourself too seriously, because everyone knows that fat birds dont fly" -FLC
Yes, and if we must, we must... the programmers who maintain this are not overly proficient in C, I do not believe... hell, I'm no C wizard, but I can get by.
For maintainability and consitency we are first approaching the Perl side.
Inline::C is a great way to throw in just a little bit of C code. If DProf finds that there are a few routines using up most of your time, this makes it easy to rewrite just those routines in C while keeping the rest in Perl. But to get the tenfold speed you're looking for, you'll almost certainly need algorithm changes (such as using indexes), not just simple optimizations like these.
Re^4: by suaveant(Parson) on Sep 19, 2005 at 21:05 UTC
Ooops... I could have specified that better, too... the prior processing is not taking 2 hours, it is done over a two hour period. As it stands now, however, it would never cram into 10-15 minutes, maybe 30-45... (we plan on doing a test, but the people running it are a bit timid about it) so I don't need to speed it up as much as it sounds... it is just that now we are forced to crank out the data in a smaller window...
I have been curious about Inline::C, however, so I may have to use this opportunity to play with it.