in reply to Making sense of some dprof output

Why is the elapsed time double the user+system time? Because the elapsed time is real time and includes things like waiting for I/O operations. In other words, when working on a program that manipulates files, it's the number you should be paying attention to.

I'd also suggest you ditch Devel::DProf and start using Devel::NYTProf.