dprof says this sub is running 50% of the time for my application, so it looks like my best candidate for optimization.
Well, your application has to spent 50% of it's time somewhere.
If you've got 50 methods, and you're making 50 calls to each, and only one of those methods is 50% of your execution time, then you've got something to look into. But if you program consists of nothing more then some initialization, some config file parsing, a quick select from a DB, and then a single call to this method ... 50% is kicking some ass.
Numbers are meaningless without units, and Percentages are meaningless without context.