LoopThrottle is a tiny Julia package that exports the @throttle macro, which can be used to
slow down a for loop or while loop by calling sleep at the beginning of each
loop iteration (if necessary), so that a designated variable increases
at a rate of at most max_rate (compared to wall time).
x = 0
@throttle t for t = 1 : 0.01 : 2
x += 1
end max_rate = 2.will finish in approximately 0.5 second.
x = 0.
@throttle x for i = 0 : 1000
x += 1e-3
endwill use the default max_rate value of 1. and thus finish in approximately 1 second.
i = 0
@throttle i while i <= 10
println(i)
i += 1
end min_sleep_time=1.5 max_rate=1will print the numbers from 0 to 10 at an average rate of one per second, while never sleeping for less than 1.5 second.