This channel is intended for people just starting with the Raku Programming Language (raku.org). Logs are available at irclogs.raku.org/raku-beginner/live.html
Set by lizmat on 8 June 2022.
00:49 jgaz joined 00:56 jgaz left 01:29 jgaz joined 01:30 jgaz left 01:31 kjp left 01:32 jgaz joined, jgaz left 01:33 jgaz joined 01:34 jgaz left 01:47 jgaz joined, jgaz left 01:49 jgaz joined, jgaz left 04:26 kjp joined 05:05 Tirifto left 05:06 Tirifto joined 05:09 Tirifto left 05:10 Tirifto joined 05:17 hythm joined 05:22 hythm left
.vushu Can somebody explain that some times this code unit module Benchmark; sub test is export { my int $n; for 0..^1000000000 { $n +=1; } say $n; } use Benchmark; sub MAIN { test; } Running it more times: 1st run: real 1m57.742s user 2m47.524s sys 0m0.586s second run: real 0m11.996s user 0m11.798s sys 0m0.049s third run: ` 05:51
@librasteve Ireal 0m12.376s user 0m12.186s sys 0m0.037s 06:02
@librasteve I'm guessing that whenever the jit decides to kicks in it's getting slower as you explained yesterday? 06:09
ab5tract_ I don’t see a speed difference with `my int $n; for ^100_000_000 { $n +=1 }`. Takes *50 seconds* on an M2 Pro… some optimization must be missing 08:08
*don’t see a speed difference between have the `say $n` at the end
08:46 dakkar joined 08:54 lizmat joined 11:44 teatwo joined, teatwo left 11:45 teatwo joined 11:47 tea3po left
lizmat And yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2023/11/06/2023-45-confvids/ 13:05
rcmlz time raku -e 'my Int $n; for ^100_000_000 {$n += 1}; say $n' 8,94s user time raku -e 'my int $n; for ^100_000_000 {$n += 1}; say $n' 2,14s user Interesting, "int" and "Int" realy does make a difference in this example (Rakudo™ v2023.10) 13:16
Just for a laugh I also tried C++ and Rust with max. optimization switched on (c++ -O3 count_to.cpp and rustc -O count_to.rs) and booth seem to unroll and hardcode the result as it is always 0 seconds, even for very large upper bounds. It is just an artificial example .... 13:21
using raku --optimize=3 ... to trigger optimizations does not seem to have an impact in this specific example. Interesting. 13:27
librasteve o/ 13:40
I also timed raku with int (2.76s) vs perl (2.01s) so raku is 37% slower than perl when you compare apples vs apples - nice! 13:47
(raku still has a bunch of optimisation opportunities going forward + concurrent processing whereas perl is prtty much maxed out by now) 13:49
rcmlz: ah yes, static compilation and loop unrolling ... 13:52
ab5stract: I suspect (hope!) that your 50s on an M2 is for 1_000_000_000 and not 100_000_000 that you said ;-) 13:53
otherwise my M1 is 5x faster than your M2 13:54
17:05 jgaz joined
ab5tract_ librasteve: Indeed, I was running it with RAKUDO_RAKUAST=1 17:29
1.98s
And I also see the speed difference between having the `say $n` and not. Weird! 17:35
Actually, scratch that. Further testing revealed a similar baseline for both 17:39
17:40 dakkar left 18:24 lizmat joined 19:13 ab5tract__ joined 19:18 ab5tract_ left, ab5tract__ is now known as ab5tract_, KOTP left 19:19 KOTP joined 23:45 tea3po joined 23:47 tea3po left, tea3po joined 23:48 teatwo left 23:53 tea3po left 23:54 tea3po joined