🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | log inspection situation still under development | For MoarVM see #moarvm
Set by lizmat on 22 May 2021.
00:06 reportable6 left
leont ugexe: If you're happy I'm merging and releasing it 00:30
ugexe it works for me, but did you notice the CI failures? 00:35
Coercion IO(Str) is insufficiently type-like to qualify a variable
at /test/lib/TAP.pm (TAP):814
i hadnt test the latest commit 00:40
leont I need to build a new CI setup, this travis based one uses a two years old raku 00:53
ugexe ah. its tests pass locally for me 00:55
Geth tap-harness6: fb2bf01788 | (Leon Timmermans)++ | 2 files
Make t/source-file.t cwd-independent
01:07
tap-harness6: c1c3c40155 | (Leon Timmermans)++ | lib/TAP.pm
Add cwd attribute to TAP::Harness

This will run the tests in the right working directory without affecting the main program's working directory.
01:30 SmokeMachine_ joined, samcv_ joined 01:39 SmokeMachine left, SmokeMachine_ is now known as SmokeMachine, samcv left, timo left 01:47 timo joined 02:08 reportable6 joined 02:40 frost joined 02:46 kjp left
Geth ¦ tap-harness6: Leont self-assigned Need to update README.md github.com/Raku/tap-harness6/issues/50 02:58
releasable6 Next release in ≈6 days and ≈15 hours. 1 blocker. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft 03:00
03:09 kjp joined 03:12 Kaipi left, Merfont joined 03:16 Merfont left, Merfont joined 04:37 reportable6 left, nativecallable6 left, greppable6 left, linkable6 left, shareable6 left, bisectable6 left, quotable6 left, committable6 left, coverable6 left, releasable6 left, statisfiable6 left, bloatable6 left, tellable6 left, squashable6 left, unicodable6 left, evalable6 left, benchable6 left, notable6 left, sourceable6 left, bloatable6 joined 04:38 nativecallable6 joined, sourceable6 joined, shareable6 joined, coverable6 joined 04:39 statisfiable6 joined, linkable6 joined, unicodable6 joined, bisectable6 joined 04:40 evalable6 joined, committable6 joined, greppable6 joined, reportable6 joined 05:38 releasable6 joined 05:39 notable6 joined 06:08 reportable6 left 06:09 reportable6 joined 06:37 benchable6 joined 07:39 tellable6 joined 08:11 discord-raku-bot left 08:12 discord-raku-bot joined 08:38 squashable6 joined 09:38 quotable6 joined
lizmat Files=1351, Tests=117094, 325 wallclock secs (35.37 usr 9.29 sys + 4484.41 cusr 358.54 csys = 4887.61 CPU) 10:06
10:51 frost left
Geth rakudo: 11c8f82a04 | (Elizabeth Mattijsen)++ | src/core.c/Capture.pm6
Make Capture[n] (and thus $0, $1, ...) about 5x as fast

By making the AT-POS candidates better inlineable by moving the Failure creating code to a separate subroutine, thus allowing the hotpath to be inlined.
11:35
12:07 reportable6 left
MasterDuke lizmat: have you noticed any difference in timings now that mimalloc is the default? 12:12
lizmat eh... that didn't make it to rakudo master yet, did it ?
maybe I should do a bump ? 12:13
MasterDuke +1 from me 12:17
lizmat ok, will dop
*do
MasterDuke: building NQP fails for me: 12:21
In file included from src/vm/moar/runner/main.c:5:
#include <mimalloc.h>
nine Did you run Configure.pl again? 12:22
lizmat MasterDuke: full gist 12:23
gist.github.com/lizmat/68d545bdaf7...3110324010
nine ^^ yes
nine I don't see output by NQP's Configure.pl. But that may be hidden by the build process 12:24
Geth nqp/fix_unsigned_for_merge: d5e0639f97 | (Stefan Seifert)++ | 12 files
Add atpos_u and bindpos_u ops on JVM
12:27
nqp/fix_unsigned_for_merge: 42adc9185c | (Stefan Seifert)++ | 5 files
assign_u, atposref_u, captureposarg_u and iscont_u on JVM
nine If only the JVM backend was a little faster. The code is so nice to work with 12:31
MasterDuke ah, you beat me to it (i thought about implementing those *_u ops for the jvm but obviously didn't get around to it) 12:32
have you experimented with the truffle branch at all? compilation isn't any faster, but some long running code can beat moarvm even now 12:33
nine Well I do want to get on with the unsigned fixes so I can do something else at some point. As JVM kinda blocked that, it was kinda natural to take a look at it
No, I haven't
lizmat so no bump I guess, right ? 12:34
MasterDuke i'm not sure why it didn't find the .h. maybe a `make clean` first? 12:36
lizmat tries with a fresh clone 12:37
a fresh clone works 12:41
argh
lizmat tries with the actual bump 12:42
MasterDuke CI was fine, so probably was some stale config 12:43
lizmat ok, after building with a fresh clone, and *then* a change in MOAR_REVISION, it fails again 12:44
trying with a fresh clone *and* a MOAR_REVISION change before building 12:45
nine lizmat: is that still with--gen-moar? 12:46
lizmat yes 12:48
ok, good news: with a fresh checkout, bump applied without building before, it builds and tests ok 12:49
Geth nqp: 5e5502ecb1 | (Elizabeth Mattijsen)++ | tools/templates/MOAR_REVISION
Bump MoarVM to get the latest goodies

  - mimallic support: MasterDuke++
  - various other tweaks and fixes by nine++ and nwc10++
12:50
nine Would probably work as well the other way round if you manually ran NQP's Configure.pl (most conveniently via config.status0
s/config.status0/config.status)/
lizmat my primary interest is: does it work after a fresh checkout with the bump applied 12:51
because that's what people generally do (unless they're a core dev) 12:52
Rakudo builds ok, now spectesting 12:54
13:00 kjp left
Geth rakudo: fb909efcee | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION
Bump NQP to get the latest MoarVM fixes

And also some prep work in NQP by nine++
13:03
lizmat nine++ MasterDuke++ ^^ 13:04
Geth nqp/master: 8 commits pushed by (Stefan Seifert)++, niner++ 13:07
13:08 reportable6 joined
lizmat nine: I assume you will be taking care of bumping that, right ? 13:09
nine yes 13:10
lizmat focuses on other stuff then
13:12 kjp joined
cognominal > 0+0i == 0 14:00
True
> 0+0i eq 0
False
>
Why > I would expect == things to be coerced into eq things
lizmat perhaps an oversight :-) 14:01
cognominal I wanted to brag about imaginary support in raku and I am told that its support is imaginary. 14:02
Lizmat, should I file a bug ? 14:03
lizmat hehe.. we try very hard to be non-imaginary :0) 14:04
so yes please
nine m: say 0i 14:07
camelia 0+0i
nine m: say 0i.^name
camelia Complex
nine I don't see why this should be string equal to the Int 0? 14:08
cognominal Not the same type indeed
thx
I have no excuse. This is covered by the doc. docs.raku.org/routine/===,%20infix%20%E2%A9%B6 14:13
15:13 evalable6 left, linkable6 left
bartolin nine++ for providing the *_u ops for the JVM backend, too 15:55
16:15 evalable6 joined
nine *sigh* as I feared, there are now merge conflicts in src/core.c/native_array.pm6 16:40
gfldex I build from HEAD and the profiler shows really odd stuff. 16:54
MasterDuke gfldex: huh, haven't noticed anything myself, but haven't taken a profile in a couple days. what are you seeing? 16:57
Geth nqp/fix_unsigned: 8cb72029f9 | (Stefan Seifert)++ | 2 files
Use uint64 registers for unsigned arguments in dispatch
17:06
nqp/fix_unsigned: 6f8488372c | (Stefan Seifert)++ | 11 files
Rebootstrap
nqp/fix_unsigned: 7ef612304e | (Stefan Seifert)++ | 2 files
is pure trait for methods
gfldex es 17:11
In total, NaN call frames were entered and exited by the profiled code. Inlining eliminated the need to create
844784952697000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000282706100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 call frames (that's NaN%). Call Frames
In total, NaN call frames were entered and exited by the profiled code. Inlining eliminated the need to create
844784952697000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 17:12
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000282706100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 call frames (that's NaN%).
nine Inlining seems to be really effective in this case
MasterDuke inline all the atoms in the universe!
nine far, far more 17:13
gfldex Exclusive Time 17:14
MasterDuke gfldex: is profiling your code that uses `start`?
gfldex 0%
0% (6.287731412877151e+169ms)
That was taken with the .hyper removed.
nine There are only about 100000000000000000000000000000000000000000000000000000000000000000000000000000000 atoms in the observable universe
MasterDuke then we'll inline the subatomic particles too, everybody's welcome 17:15
gfldex That's no problem nine. Running the program takes longer then the universe will exist anyways.
MasterDuke nine: btw, in case you missed it, i commented on github.com/Raku/nqp/commit/8cb72029f9 17:17
gfldex I the profiler tested before a monthly release is made? 17:19
nine doesn't think so
There are a few tests but I think they are rather basic 17:20
MasterDuke it's tested that it runs and creates a file and that's about it
18:08 reportable6 left 18:10 Util_ left 18:11 reportable6 joined
Geth nqp: 4aaf06e204 | (Stéphane Payrard)++ | docs/ops.markdown
sethllconfig doc
18:12
cognominal GitHub.dev is cool. I hope I did not mess things up 18:13
18:15 linkable6 joined
Geth nqp: aeaab3153c | (Stéphane Payrard)++ | docs/ops.markdown
fix up link for hll MoarVM testfile
18:25
cognominal That sounds interesting. I suppose that would have avoided my misstep. I don't know anything about GitHub actions though 18:49
github.com/marketplace/actions/my-...nk-checker
19:58 Merfont left, Kaiepi joined 20:03 qorg11 left 20:05 qorg11 joined 20:22 Kaiepi left, Kaiepi joined 21:35 evalable6 left, linkable6 left 22:26 Kaiepi left, Kaiepi joined
releasable6 Next release in ≈5 days and ≈19 hours. 1 blocker. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft 23:00
23:36 evalable6 joined