1 USING: timers timers.private calendar concurrency.count-downs
\r
2 concurrency.promises fry kernel math math.order sequences
\r
3 threads tools.test tools.time ;
\r
9 [ first stop-timer count-down ] 2curry 1 seconds later
\r
15 self [ resume ] curry instant later drop
\r
22 [ '[ t _ fulfill ] 2 seconds later drop ]
\r
23 [ 5 seconds ?promise-timeout drop ] bi
\r
24 ] benchmark 1,500,000,000 2,500,000,000 between?
\r
29 '[ 4 _ set-first ] 2 seconds later
\r
36 dup '[ 0 _ [ 1 + ] change-nth ] 3 seconds later
\r
37 [ stop-timer ] [ start-timer ] bi
\r
43 dup '[ 3 seconds sleep 1 _ set-first ] 1 seconds later
\r
44 2 seconds sleep stop-timer
\r
50 dup '[ 1 _ set-first ] 300 milliseconds later
\r
51 150 milliseconds sleep
\r
52 [ restart-timer ] [ 200 milliseconds sleep stop-timer ] bi
\r
57 dup '[ 0 _ [ 1 + ] change-nth ] 200 milliseconds later
\r
58 100 milliseconds sleep restart-timer 300 milliseconds sleep
\r
63 dup '[ 0 _ [ 1 + ] change-nth ] 300 milliseconds 300 milliseconds
\r
64 <timer> dup start-timer
\r
65 700 milliseconds sleep dup restart-timer
\r
66 700 milliseconds sleep stop-timer 500 milliseconds sleep
\r