Geth rakudo: ae4204c574 | (Elizabeth Mattijsen)++ | src/core/List.pm
Make sub rotate a multi
00:17
rakudo: 8cba084690 | (Elizabeth Mattijsen)++ | src/core/List.pm
Make sub roundrobin a multi
rakudo: 1b94ff6f9e | (Elizabeth Mattijsen)++ | src/core/List.pm
Make sub prefix:<|> a multi
rakudo: 254f477ea5 | (Elizabeth Mattijsen)++ | src/core/Numeric.pm
Make subs infix:<×>|<÷> aliases of subs infix:<*>|</>
00:28
MasterDuke huh. anyone have an idea why i can't profile the build anymore? 02:20
it just does nothing
whoops, it's --profile-compile for doing that 02:54
ugh, i think even this 26gb vm doesn't have enough ram to profile the compile anymore 05:05
AlexDaniel squashable6: next 08:02
squashable6 AlexDaniel, ⚠🍕 Next SQUASHathon in 1 day and ≈1 hour (2018-03-03 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
lizmat Files=1236, Tests=76231, 317 wallclock secs (14.86 usr 5.17 sys + 2176.41 cusr 213.09 csys = 2409.53 CPU) 08:49
AlexDaniel: alas, again I won't be able to do any squashing this Saturday, will be offline the whole day 08:50
AlexDaniel I think it's going to be very busy around here anyway because JJ will be participating :)
Geth rakudo: 5490bacd02 | (Elizabeth Mattijsen)++ | src/core/Numeric.pm
Make sub infix:<=~=> a multi

  - and make infix:<≅> an alias
  - put actual logic on the ascii operator version, just like other operators
08:59
rakudo: 1be26afb78 | (Elizabeth Mattijsen)++ | src/core/operators.pm
Mark sub infix:<=> as an "only" sub

Assignment is handled directly in the compiler. Add some comments to this effect and make it an only to mark its "specialness" in that respect.
09:25
rakudo: 25bedf8811 | (Elizabeth Mattijsen)++ | src/core/operators.pm
Mark subs WHAT/HOW/VAR as only subs

They should really be macro's, so don't make them multi's.
09:35
rakudo: e1b711ae6a | (Elizabeth Mattijsen)++ | src/core/operators.pm
Make subs infix:<andthen>/<notandthen>/<orelse> multi's
09:51
rakudo: a23684f328 | (Elizabeth Mattijsen)++ | src/core/operators.pm
Make sub infix:<o> a multi

  - and make infix:<∘> an alias
  - put actual logic on the ascii operator version, just like other operators
lizmat afk for a few hours&
|Tux| Rakudo version 2018.02.1-85-ga23684f32 - MoarVM version 2018.02-22-g9233d85e7
csv-ip5xs0.812 - 0.817
csv-ip5xs-207.606 - 7.875
csv-parser37.937 - 38.294
csv-test-xs-200.449 - 0.466
test9.090 - 9.210
test-t2.526 - 2.586
test-t --race1.068 - 1.074
test-t-2046.727 - 46.795
test-t-20 --race15.945 - 17.309
10:48
Geth rakudo: 804c009a87 | (Elizabeth Mattijsen)++ | src/core/Pair.pm
Make sub infix:«=>» a multi
12:15
rakudo: f5b23a5566 | (Elizabeth Mattijsen)++ | src/core/Range.pm
Make subs infix:<..>/<^..>/<..^>/<^..^> and prefix:<^> multi's
12:47
lizmat I think this covers what could reasonably be made multi's in the settings 12:50
AlexDaniel that was quick. lizmat++
lizmat putting them in separate commits and running spectests on them, was really most of the work 12:51
separate commits, so that any breakage should be easier to bisect 12:52
AlexDaniel lizmat+=2 12:54
lizmat hmmm... there should be no difference between infix:«<=» and infix:«≤», right ? 12:56
AlexDaniel yes 13:00
lizmat that's what I thought :-)
AlexDaniel well except that <= is ambiguous in some cases
m: say 5<=2
camelia 5===SORRY!5=== Error while compiling <tmp>
Whitespace required before <= operator
at <tmp>:1
------> 3say 5<=27⏏5<EOL>
expecting any of:
postfix
AlexDaniel m: say 5≤2
camelia False
lizmat ah, but that's a parsing difference, not a runtime differencve 13:01
Geth roast: d5f2ea6d18 | (Zoffix Znet)++ (committed using GitHub Web editor) | S11-modules/require.t
Add comment not add use lib or use modules

Per github.com/perl6/roast/commit/fb83...f3014a1399
13:19
rakudo: aadd3c12d1 | (Elizabeth Mattijsen)++ | 9 files
Make infix:<≤> an alias of infix:«<=»

By making it an alias, we can get rid of all of the duplication for the unicode operator. This reduces memory size (about 10K in the setting.moarvm) and maintenance burden (because additional candidates will only need to be added for the ascii version of the operator).
Please note that the alias *must* use <> brackets: apparently creating constants takes literal names, and 'sub infix:«≤»; normalizes to <> brackets.
13:57
AlexDaniel lizmat: … 13:58
what about performance?
it was duplicated like this so that it's as fast as <= 13:59
lizmat there shouldn't be any difference between <= and ≤
but lemme doublecheck 14:00
AlexDaniel RT#131626
synopsebot RT#131626 [open]: rt.perl.org/Ticket/Display.html?id=131626 [PERFTEST][PERF] ≥ and ≤ are 36x slower than Texas version; ≠ is 15x slower
lizmat I don't see a difference in speed 14:01
AlexDaniel github.com/rakudo/rakudo/commit/6ad06fad9f
lizmat perhaps I also fixed that :-)
m: my $a = 42; for ^1000000 { my $b = $a ≤ $a }; say now - INIT now
camelia 0.1131201 14:02
lizmat m: my $a = 42; for ^1000000 { my $b = $a <= $a }; say now - INIT now
camelia 0.11257860
lizmat m: my $a = 42; for ^1000000 { my $b = $a <= $a }; say now - INIT now
camelia 0.1125891
lizmat m: my $a = 42; for ^1000000 { my $b = $a ≤ $a }; say now - INIT now
camelia 0.1130999
lizmat in the profiler I only infix:«<=» when I use ≤ (which I expected, because we aliased the proto basically) 14:04
and it is spectest clean 14:06
AlexDaniel hm… indeed 14:07
ok!
lizmat: awesome! 14:08
lizmat rinse and repeating now for != and >=
Geth rakudo: bc52fefa93 | (Elizabeth Mattijsen)++ | 6 files
Make infix:<≠> an alias of infix:«!=»

By making it an alias, we can get rid of all of the duplication for the unicode operator. This reduces memory size (about 3K in the setting.moarvm) and maintenance burden (because additional candidates will only need to be added for the ascii version of the operator).
Please note that the alias *must* use <> brackets: apparently creating constants takes literal names, and 'sub infix:«≠»; normalizes to <> brackets.
14:18
rakudo: a2100ec7d3 | (Elizabeth Mattijsen)++ | 9 files
Make infix:<≥> an alias of infix:«>=»

By making it an alias, we can get rid of all of the duplication for the unicode operator. This reduces memory size (about 10K in the setting.moarvm) and maintenance burden (because additional candidates will only need to be added for the ascii version of the operator).
Please note that the alias *must* use <> brackets: apparently creating constants takes literal names, and 'sub infix:«≥»; normalizes to <> brackets.
14:37
lizmat loves making code faster by removing stuff
AlexDaniel yes 14:50
Geth rakudo: 2e7a0e59ec | (Elizabeth Mattijsen)++ | 2 files
Make infix/prefix:<−> an alias of infix/prefix:<->

This saves about 3K in setting.moarvm size and should remove any performance difference between using − or -.
14:53
lizmat I think this concludes this round of optimizations 14:54
|Tux| should that be noticable in CSV? 14:55
lizmat are you using unicode operators in there? 14:57
think not, no?
|Tux| nope
lizmat so, don't think it will make a difference then 14:58
not seeing any difference outside of noise 14:59
afk&
AlexDaniel dogbert21: are you on 64-bit linux? 15:57
dogbert17: ↑ :) 15:58
dogbert17 AlexDaniel: I'm on both 16:05
i.e. 32 and 64 bit depending on what I'm doing 16:06
AlexDaniel k 16:07
dogbert17: I wonder if you can help me by trying to reproduce the segfault 16:52
dogbert17: follow the instructions here: github.com/perl6/whateverable/wiki/Installation
dogbert17: then run: t/evalable.t
the bot will segfault
or… well… it should 16:53
if it doesn't, try running again, I think the fresh run is slightly different
well I'm just interested if someone else can go through the process :) 17:02
Kaiepi PufferBot, help 17:50
PufferBot Say "PufferBot, test" to test Rakudo builds on openbsd
Kaiepi PufferBot, test
PufferBot [openbsd] Building Rakudo...
[openbsd] Compiling successful! Testing...
Kaiepi shit forgot to uncomment out make clean 17:51
PufferBot, test
PufferBot [openbsd] Building Rakudo...
[openbsd] Compiling successful! Testing... 17:54
[openbsd] | t/01-sanity/02-op-math.t ........................................ ok
[openbsd] | t/01-sanity/01-literals.t ....................................... ok
[openbsd] | t/01-sanity/04-op-cmp.t ......................................... ok
[openbsd] | t/01-sanity/05-var.t ............................................ ok
[openbsd] | t/01-sanity/03-op-logic.t ....................................... ok
[openbsd] | t/01-sanity/06-op-inplace.t ..................................... ok
[openbsd] | t/01-sanity/09-end-blocks.t ..................................... ok
[openbsd] | t/01-sanity/08-var-array.t ...................................... ok
[openbsd] | t/01-sanity/07-op-string.t ...................................... ok
Kaiepi ...and the regex
lol
there we go 18:01
AlexDaniel Kaiepi: cool! please edit this comment and link to appropriate documentation for the bot: github.com/perl6/doc/issues/711#is...-235414744 18:17
Kaiepi i'll get that done once i make a git for it as a proper module 18:34
wait i could just do it now and update it with the link later 18:45
AlexDaniel sure 18:58
dogbert17 AlexDaniel: I have unicodable6test running, what now? 19:29
AlexDaniel dogbert17: turn it off, and run evalable tests 19:40
dogbert17: perl6 t/evalable.t
squashable6: next 19:41
squashable6 AlexDaniel, ⚠🍕 Next SQUASHathon in ≈14 hours (2018-03-03 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
dogbert17 AlexDaniel: it fails test 32 19:52
not ok 32 - basic “nick:” query
got: ["testable535548, No build for 2e7a0e59e. Not sure how this happened!"] 19:53
AlexDaniel dogbert17: is that on 64-bit? 20:00
dogbert17 no :-) 20:04
does it have to be?
I can switch
AlexDaniel yea, has to be right now
dogbert17 ok, gimme a few minutes 20:05
at least the bot seems to work in 32bit
AlexDaniel basically it attempted to cheat by pulling 2e7a0e59e from the server, but there's no 32-bit build so :P
in theory you could build it yourself but there's no easy way *yet* 20:06
dogbert17 I see 20:07
the same test #32 failed again, now under 64 bit 20:19
hello
»’ $/
# matcher: 'infix:<~~>'
# got: []
AlexDaniel buuut anything interesting a few lines before that?
should be: # Bot process finished (exit code=0, signal=11) 20:20
dogbert17 Attempting to fetch 2e7a0e59ec55b2bb4ef8cb6dd935e3ff77e91eb7…
AlexDaniel oh… wait that's the first test
hmhmhm…
dogbert17 # Failed to get expected result in 11.0954629 seconds (11 nominal)
AlexDaniel ok, try again? 20:21
dogbert17 ok
AlexDaniel my guess is that your internet connection is slow?
dogbert17 /tmp/whateverable/rakudo-moar/2e7a0e59ec55b2bb4ef8cb6dd935e3ff77e91eb7 is locked. Waiting…
AlexDaniel rm -rf /tmp/whateverable/rakudo-moar/2e7a0e59ec55b2bb4ef8cb6dd935e3ff77e91eb7
ooooooooooooooooooooooooooohhhhhhhhhhh… 20:22
apt install zstd lrzip
dogbert17 aha 20:23
still no dice, same error 20:25
test #32 20:26
AlexDaniel dogbert17: “got: []” you mean?
dogbert17: ok let's move to #whateverable…
[Coke] need to come up with a talk for tpc-us 21:35
AlexDaniel “How I spent 2 hours jumping through hoops just to run Evalable” 21:44
dogbert17: :)
timotimo just make it dockerable %)
for dockbert17
AlexDaniel yes that's a wonderful idea 21:45
dogbert17 has worked 5 times now 21:46
AlexDaniel (↑ evalable.t with SPESH_DISABLE=1, otherwise SEGV) 21:47
dogbert17 did you try it as well?
AlexDaniel dogbert17: yea, same result 21:51
didn't run it 5 times but I believe it will be consistent :)
dogbert17: I don't know, maybe there's a way to golf it… but last time I failed at that 21:52
because the issue just disappears randomly when you change something a little bit
anyway, I need to get some sleep o/
timotimo good luck! 21:53
dogbert17 good night 21:56
timotimo: if you're interested, see gist.github.com/dogbert17/01694408...d457c847f1 21:57
timotimo dogbert17: maybe compile with gc debug? or is that already active? 21:58
the stack looks a bit screwed; does it still segv without the jit?
dogbert17 let me make some changes :-) 21:59
does it look better now? 22:04
timotimo: if does indeed fail with MVM_JIT_DISABLE=1 22:09
timotimo i wonder what exactly breaks there; is it the sc_idx being out of bounds for the all_scs array? 22:28
the all_scs array is usually smaller than a hundred entries
i still want that browser extension or user script that lets me go from filename/line-number in gists directly to the file in question, on github or otherwise 22:30
maybe clicking on it would add a little expandable section with the surrounding code or whatever
MasterDuke linkable?
timotimo sure, though probably without irc in the middle 22:31
that's one step too many for me, see? :)
MasterDuke ah. wonder if an FF or chrome plugin exists already 22:32
timotimo this is a bizzarely specific use case for someone to have made that, tbh
MasterDuke is greasemonkey still a thing? 22:34
timotimo well, chrome has "userscript" support built-in nowadays
oh, maybe not actually? 22:35
MasterDuke 800+ seconds so far to profile the build, hopefully 52gb is enough... 22:39
timotimo the build of what exactly? o_O
MasterDuke rakudo 22:40
dogbert17 (gdb) p sc_idx
$2 = 101090888
that's a bit high isn't it? 22:41
timotimo m: say 101090888 / 420
camelia 240692.590476
timotimo it's about yea high
MasterDuke well, it didn't say it died, but it didn't create any profile and /usr/bin/time said 50gb was used... 22:43
dogbert17 I guess something went south with this call then: github.com/MoarVM/MoarVM/blob/mast...ect.c#L365 22:44
Geth rakudo: 1da0753035 | (Elizabeth Mattijsen)++ | src/core/Str.pm
Make Str.comb(Regex) return a Seq, fixes GH #1564
23:03
synopsebot RAKUDO#1564 [open]: github.com/rakudo/rakudo/issues/1564 The Str "comb" method (Regex candidate) returns List instead of Seq
lizmat sleep& 23:33