Last active
November 23, 2024 17:59
-
-
Save ab5tract/e8ddc624d98e17d21e2ee94e7441a900 to your computer and use it in GitHub Desktop.
vent-at-0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
> ./rakudo-m ../rakudo-test-cases/vent-at-zero-base.raku | |
1 | |
50 | |
99 | |
148 | |
197 | |
246 | |
294 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
my $supplier = Supplier.new; | |
my $chan = $supplier.Supply.throttle(1, -> $a { | |
say $*SCHEDULER.gist ~ " " ~ now ~ " [before sleep]"; | |
sleep 5; | |
say $*SCHEDULER.gist ~ " " ~ now ~ " [after sleep]"; | |
$a; | |
}, :bleed(Supplier.new), :vent-at(0)).Channel; | |
start { | |
for [1..*] { | |
sleep 0.1; | |
$supplier.emit($_); | |
} | |
} | |
react { | |
whenever $chan { | |
say $_.result; | |
} | |
} | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
> ./rakudo-m ../rakudo-test-cases/vent-at-zero-say-scheduler.raku | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211938.3443887 [before sleep] | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211943.356422237 [after sleep] | |
1 | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211943.457721421 [before sleep] | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211948.46650832 [after sleep] | |
50 | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211948.563590446 [before sleep] | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211953.575433232 [after sleep] | |
99 | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211953.683237358 [before sleep] | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211958.690987378 [after sleep] | |
148 | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211958.790724723 [before sleep] | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211963.796718736 [after sleep] | |
197 | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211963.872523238 [before sleep] | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211968.878641461 [after sleep] | |
246 | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211968.947787853 [before sleep] | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211973.967392003 [after sleep] | |
295 | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211974.023250136 [before sleep] | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211979.0294494 [after sleep] | |
344 | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211979.105887155 [before sleep] | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211984.10901749 [after sleep] | |
393 | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211984.194837573 [before sleep] | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211989.203871681 [after sleep] | |
442 | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211989.272688864 [before sleep] | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211994.279185213 [after sleep] | |
491 | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211994.3576346 [before sleep] | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211999.361754023 [after sleep] | |
540 | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732211999.455551303 [before sleep] | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732212004.461258065 [after sleep] | |
589 | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732212004.560727617 [before sleep] | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732212009.569631851 [after sleep] | |
638 | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732212009.660029992 [before sleep] | |
ThreadPoolScheduler.new(uncaught_handler => Callable) Instant:1732212014.66320662 [after sleep] | |
687 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
my $supplier = Supplier.new; | |
my $chan = $supplier.Supply.throttle(1, -> $a { | |
sleep 5; | |
say $*THREAD.gist ~ " " ~ (now - ENTER now) ~ "[I sleep]"; | |
$a; | |
}, :bleed(Supplier.new), :vent-at(0)).Channel; | |
react { | |
whenever Supply.interval(0.1) { | |
$supplier.emit(++$); | |
} | |
whenever $chan { | |
say $_.result; | |
} | |
} | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
> ./rakudo-m ../rakudo-test-cases/vent-at-zero-supply-interval.raku | |
Thread #7 (GeneralWorker) 5.008180056[I sleep] | |
1 | |
Thread #7 (GeneralWorker) 5.002972649[I sleep] | |
51 | |
Thread #7 (GeneralWorker) 5.005099621[I sleep] | |
101 | |
Thread #7 (GeneralWorker) 5.002932066[I sleep] | |
151 | |
Thread #7 (GeneralWorker) 5.00499462[I sleep] | |
201 | |
Thread #7 (GeneralWorker) 5.002163727[I sleep] | |
251 | |
Thread #7 (GeneralWorker) 5.004871244[I sleep] | |
301 | |
Thread #7 (GeneralWorker) 5.005365914[I sleep] | |
351 | |
Thread #7 (GeneralWorker) 5.006040668[I sleep] | |
401 | |
Thread #7 (GeneralWorker) 5.002058226[I sleep] | |
451 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
> ./rakudo-m ../rakudo-test-cases/vent-at-zero-supply-interval.raku | |
Thread #7 (GeneralWorker) 5.006360855 ...[I sleep]... | |
1 | |
Thread #7 (GeneralWorker) 5.005354853 ...[I sleep]... | |
52 | |
Thread #7 (GeneralWorker) 5.004855725 ...[I sleep]... | |
103 | |
Thread #7 (GeneralWorker) 5.004737517 ...[I sleep]... | |
154 | |
Thread #7 (GeneralWorker) 5.001761635 ...[I sleep]... | |
205 | |
Thread #7 (GeneralWorker) 5.0046291 ...[I sleep]... | |
256 | |
Thread #7 (GeneralWorker) 5.000401673 ...[I sleep]... | |
307 | |
Thread #7 (GeneralWorker) 5.003804765 ...[I sleep]... | |
358 | |
Thread #7 (GeneralWorker) 5.004353058 ...[I sleep]... | |
409 | |
Thread #7 (GeneralWorker) 5.005436853 ...[I sleep]... | |
460 | |
Thread #7 (GeneralWorker) 5.004877851 ...[I sleep]... | |
511 | |
Thread #7 (GeneralWorker) 5.002565595 ...[I sleep]... | |
562 | |
Thread #7 (GeneralWorker) 5.004333432 ...[I sleep]... | |
613 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
> ./rakudo-m ../rakudo-test-cases/better-timer.raku | |
=== | |
Running test for 3s; intervals of 0.1 seconds | |
diff from expected absolute time | |
30 values total | |
ranging from -0.00801821 at idx 18 | |
to -0.00371766 at idx 10 | |
with a mean of -0.00649428 | |
Quartiles: | |
25th -0.00697155 at idx 9 | |
50th -0.00638203 at idx 15 | |
75th -0.00620722 at idx 3 | |
time between consecutive ticks | |
30 values total | |
ranging from +0.09318101 at idx 0 | |
to +0.10325388 at idx 10 | |
with a mean of +0.09978857 | |
Quartiles: | |
25th +0.09982780 at idx 25 | |
50th +0.10004001 at idx 12 | |
75th +0.10027109 at idx 16 | |
=== | |
Running test for 3s; intervals of 0.05 seconds | |
diff from expected absolute time | |
60 values total | |
ranging from -0.00013187 at idx 7 | |
to +0.00609041 at idx 25 | |
with a mean of +0.00104545 | |
Quartiles: | |
25th +0.00051076 at idx 42 | |
50th +0.00089861 at idx 14 | |
75th +0.00138137 at idx 40 | |
time between consecutive ticks | |
60 values total | |
ranging from +0.04636290 at idx 26 | |
to +0.05520748 at idx 25 | |
with a mean of +0.05001140 | |
Quartiles: | |
25th +0.04942274 at idx 52 | |
50th +0.04999653 at idx 23 | |
75th +0.05067282 at idx 51 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
> raku ../rakudo-test-cases/better-timer.raku | |
=== | |
Running test for 3s; intervals of 0.1 seconds | |
diff from expected absolute time | |
29 values total | |
ranging from -0.00856472 at idx 0 | |
to +0.01777930 at idx 28 | |
with a mean of +0.00543325 | |
Quartiles: | |
25th -0.00063608 at idx 7 | |
50th +0.00655943 at idx 10 | |
75th +0.01138683 at idx 21 | |
time between consecutive ticks | |
29 values total | |
ranging from +0.09143528 at idx 0 | |
to +0.10527824 at idx 10 | |
with a mean of +0.10061308 | |
Quartiles: | |
25th +0.10082582 at idx 5 | |
50th +0.10100362 at idx 18 | |
75th +0.10109987 at idx 13 | |
=== | |
Running test for 3s; intervals of 0.05 seconds | |
diff from expected absolute time | |
58 values total | |
ranging from +0.00125104 at idx 0 | |
to +0.05350834 at idx 57 | |
with a mean of +0.02681064 | |
Quartiles: | |
25th +0.01358768 at idx 14 | |
50th +0.02758419 at idx 29 | |
75th +0.04008808 at idx 43 | |
time between consecutive ticks | |
58 values total | |
ranging from +0.04943804 at idx 4 | |
to +0.05224570 at idx 3 | |
with a mean of +0.05092256 | |
Quartiles: | |
25th +0.05083254 at idx 11 | |
50th +0.05102450 at idx 41 | |
75th +0.05110425 at idx 43 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment