use microtime
allow floats as max_runtime