While not built-in, this is exactly how I use my multi-timer macro: I toss in a call wherever I need a task's timing split out, and it does all the work.
I've been using it a ton on the current project, and it's helped find chokepoints in my code. Built in would be great, but for now, this meets my needs. (I have a soon-to-post update that lowers the overhead even further, something like .015 seconds over a 25 second macro.)