Timing code execution

Hello,

I just ran the following code to time how long a part of a function takes to execute:

time1 = NaiveDateTime.utc_now

...some code or function call...

time2 = NaiveDateTime.utc_now

time_total = NaiveDateTime.diff(time2, time1, :microsecond)

time_total came back remarkably low (two-digit microseconds). Quite plausible (and fascinating!), but might I be missing something with this logic, particularly if a function call is between time1 and time2?

Thank you.