use Time::HiRes qw[ time ];; $start = time; scoring() for 1 .. 1e6; printf "Took: %.15f / iteration\n", ( time() - $start ) / 1e6;; Took: 0.000000280799866 / iteration $start = time; async{ return 1 }->join for 1.. 10; printf "took: %.15f / iteration\n", ( time() - $start ) / 10;; took: 0.011679911613464 / iteration print 0.011679911613464 / 0.000000280799866;; 41595.1466781113