Casting u64 to float is probably not a safe thing to do. Also, keep time deltas in u64 values as they can easily wrap between calculations. This fixes CPU usage calculation when a process is spinning in a loop.