00:29 arkiuat joined 00:33 arkiuat left 00:54 arkiuat joined 00:59 arkiuat left 01:29 arkiuat joined 01:34 arkiuat left 01:55 arkiuat joined 02:00 arkiuat left 02:20 arkiuat joined 02:37 apogee_ntv left 02:39 apogee_ntv joined 03:06 deoac left 03:17 librasteve_ left 03:19 stanrifkin_ joined 03:22 stanrifkin left
disbot4 <simon_sibl> Hii ! 03:26
<simon_sibl> I am not sure to understand, is that normal that raku -e 'my @a = do for ^1_000_000 { .is-prime }' is faster than raku -e 'my @a = race for ^1_000_000 { .is-prime }'
<simon_sibl> I thought race would be faster since it's supposed to do parallelism ? 03:27
03:29 arkiuat left
disbot4 <simon_sibl> (Same result using hyper) 03:39
03:41 arkiuat joined 03:46 arkiuat left 03:58 arkiuat joined 04:05 arkiuat left
disbot4 <jubilatious1_98524> m: time raku -e 'my @a; for (^1_000_000) {@a.push: .is-prime }' 04:15
<Raku eval> Exit code: 1 ===SORRY!=== Error while compiling /home/glot/main.raku Two terms in a row at /home/glot/main.raku:1 ------> time⏏ raku -e 'my @a; for (^1_000_000) {@a.pu expecting any of: infix infix stopper statement end statement modifier statement modifier loop
<jubilatious1_98524> m: raku -e 'my @a; for (^1_000_000) {@a.push: .is-prime }' 04:16
<Raku eval> Exit code: 1 ===SORRY!=== Error while compiling /home/glot/main.raku Two terms in a row at /home/glot/main.raku:1 ------> raku -e⏏ 'my @a; for (^1_000_000) {@a.push: .is- expecting any of: infix infix stopper postfix statement end statement modifier statement modifier loop
<jubilatious1_98524> m: my @a; for (^1_000_000) {@a.push: .is-prime } 04:17
<Raku eval>
<jubilatious1_98524> Yeah, race should be faster but isn't.
04:18 arkiuat joined 04:23 arkiuat left 04:30 stanrifkin_ left 04:35 arkiuat joined
disbot4 <simon_sibl> m: my @a; for (^1_000_000) {@a.push: .is-prime } 04:56
<Raku eval>
<simon_sibl> Why I can’t see any output ? XD
<simon_sibl> m: my @a; hyper for (^1_000_000) {@a.push: .is-prime } 04:57
<Raku eval>
<jubilatious1_98524> m: my @a; hyper for (^1_000_000) {@a.push: .is-prime }; say now -INIT now; 05:28
<Raku eval> 2.226502384
<jubilatious1_98524> m: my @a; race for (^1_000_000) {@a.push: .is-prime }; say now -INIT now;
<Raku eval> 2.382826473
<jubilatious1_98524> m: my @a; for (^1_000_000) {@a.push: .is-prime }; say now -INIT now;
<Raku eval> 0.203327596
<jubilatious1_98524> @simon_sibl ☝️ 05:29
<simon_sibl> Thanks ! XD And so yeah indeed I don’t get why race and hyper are slower Race should be faster than hyper because it doesn’t keep order also but it’s the opposite 05:45
07:40 arkiuat left 08:04 dakkar joined 08:06 arkiuat joined 08:12 arkiuat left 08:20 deoac joined 08:25 arkiuat joined 08:30 arkiuat left 08:32 deoac left 08:45 arkiuat joined 08:49 arkiuat left 09:17 arkiuat joined 09:26 arkiuat left 09:42 arkiuat joined 09:46 arkiuat left 09:57 librasteve_ joined 10:14 arkiuat joined 10:20 arkiuat left 10:33 arkiuat joined 10:38 arkiuat left 10:51 arkiuat joined 10:56 arkiuat left
disbot4 <rcmlz> I guess the default batch size is too small 11:10
<rcmlz> method hyper(Int(Cool) :$batch = 64, Int(Cool) :$degree = Kernel.cpu-cores - 1)
<rcmlz> Ealier (6 months ago) in this group Liz explained and gave: 11:13
<rcmlz> <lizmat> m: (^∞).hyper(batch => 2048).grep(*.is-prime)[500000].say; say now - INIT now
<rcmlz> You could run an experiment on batch x degree x size-of-problem to find your optimum. 11:15
<librasteve> time raku -e 'my @a = race (for ^10_000_000 { .is-prime })' => 12.38s 11:19
<librasteve> raku -e 'my @a = race batch => 2048, (for ^10_000_000 { .is-prime })' => 1.55s
11:20 arkiuat joined
lizmat I don't think that actually hypers 11:23
11:27 arkiuat left
disbot4 <rcmlz> How about that experimaent? glot.io/snippets/h9xwkwdb7z (there is always time for asome prokrastination ...) 11:55
11:56 arkiuat joined 12:00 arkiuat left, librasteve_ left 12:17 arkiuat joined 12:32 arkiuat left 13:02 arkiuat joined 13:06 arkiuat left 13:10 deoac joined 13:18 librasteve_ joined 13:25 arkiuat joined 13:29 arkiuat left 13:57 arkiuat joined 14:02 arkiuat left
disbot4 <librasteve> very nice experiment… 14:03
<rcmlz> It was fun to do this quick-fun-naive-hack. I guess for some serious analysis someone would need reach for one of the Benchmark modules in raku.land/?q=Benchmark to ensure some statistical significance by running things multiple times and enjoy at the same time automated performance result calculation. 14:16
14:26 arkiuat joined 14:30 arkiuat left 14:58 arkiuat joined 15:04 arkiuat left 15:18 stanrifkin joined 15:27 arkiuat joined 15:32 arkiuat left 15:33 arkiuat joined 15:38 arkiuat left 16:02 arkiuat joined 16:11 arkiuat left 16:22 deoac left 16:28 arkiuat joined 16:32 dakkar left 16:33 arkiuat left 16:58 arkiuat joined 17:04 arkiuat left 17:26 arkiuat joined 17:27 Guest26 joined 17:28 Guest26 left 17:33 arkiuat left 17:45 arkiuat joined 17:50 arkiuat left 18:18 arkiuat joined 18:23 arkiuat left 18:37 arkiuat joined 18:41 arkiuat left 19:11 arkiuat joined 19:34 arkiuat left 19:47 arkiuat joined 19:51 arkiuat left 20:20 arkiuat joined 21:30 arkiuat left 21:31 arkiuat joined 21:36 samebchase left 21:37 samebchase joined 22:35 arkiuat left 22:41 arkiuat joined 22:46 arkiuat left 22:58 arkiuat joined 23:02 arkiuat left 23:08 deoac joined 23:27 arkiuat joined 23:37 arkiuat left