I think there must have been some major (perhaps hidden) work going on in the OO version that you didn't notice. All else being equal, I doubt very much that adding OO wrappers in the fashion you describe would even add a few percent to the run time of your script - the I/O time alone would bury any OO overhead.
If you still have the OO version of the code (in your revision control system for example - what? no revision control? I'll wait while you install Mercurial of git) can you post a sanitised version of the code the exhibits extreme slowness along with a trivial amount of data? I'm interested to see if I can spot the time sink. Were you using an OO library like Moose perchance?
Aside from that it sounds like your current approach is appropriate. Again, as a learning exercise, you may like to post a sanitised version of your code for comment.
True laziness is hard work
|