Why don't we multiply MaxIdle by 1000 and do all the calculations in microseconds (saves us a conversion to floats).