Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-10-22

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:02 Zoffix What's dispatch:<var> used for?
00:04 Zoffix Ah $foo."meth-name"
00:04 Zoffix Oh wait no, misread the regex.
00:05 jnthn $foo.$var()
00:05 Zoffix Ah
00:05 jnthn Time for me to go rest. And off for vacation tomorrow. Good luck with the releases; back on Wednesday. :-)
00:05 jnthn o/
00:05 Zoffix Right, that's what handles $foo.&meow
00:05 Zoffix \o
01:16 astj joined #perl6-dev
01:56 ilbot3 joined #perl6-dev
01:56 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
02:17 astj joined #perl6-dev
02:46 greppable6 joined #perl6-dev
02:46 evalable6 joined #perl6-dev
02:46 quotable6 joined #perl6-dev
02:46 nativecallable6 joined #perl6-dev
02:46 benchable6 joined #perl6-dev
02:46 releasable6 joined #perl6-dev
02:46 unicodable6 joined #perl6-dev
02:46 coverable6 joined #perl6-dev
02:46 bloatable6 joined #perl6-dev
02:46 committable6 joined #perl6-dev
02:46 bisectable6 joined #perl6-dev
02:46 squashable6 joined #perl6-dev
02:46 statisfiable6 joined #perl6-dev
03:14 evalable6 joined #perl6-dev
03:44 ggoebel joined #perl6-dev
03:46 AlexDaniel` samcv: that got me thinking. Whateverable also builds moarvm for every commit, and every build (compressed) is ≈3.5 MB
03:46 AlexDaniel` say 3.5 × 600
03:46 evalable6 AlexDaniel`, rakudo-moar 78d8d5099: OUTPUT: «2100»
03:46 AlexDaniel` that's assuming that all intermediate commits are buildable :)
03:47 AlexDaniel` and all that what for…
03:47 AlexDaniel` bloatable6: releases
03:47 bloatable6 AlexDaniel`, No! It wasn't me! It was the one-armed man! Backtrace: https://gist.github.com/ccceeb85ab5de83fa83c352d44d01a0a
03:47 AlexDaniel` :S
03:53 AlexDaniel` oh I see
03:58 astj joined #perl6-dev
04:07 bloatable6 joined #perl6-dev
04:07 AlexDaniel` bloatable6: releases
04:07 bloatable6 AlexDaniel`, https://gist.github.com/68c51dabe93160559220be5f07819a20
04:11 samcv AlexDaniel`, thinking about what? is bloatable6 what does the moar releases?
04:12 AlexDaniel` thinking that this merge of 600 commits had a drastic impact on the tiny ssd my server has :)
04:12 * AlexDaniel` looks. “6.7G free”
04:13 samcv heh
04:13 samcv i'm sure!
04:19 AlexDaniel` never thought that this kind of stuff can work:
04:19 AlexDaniel` c: 2017.09..HEAD say 42
04:20 committable6 joined #perl6-dev
04:20 AlexDaniel` boom
04:20 AlexDaniel` c: 2017.09..HEAD say 42
04:23 committable6 AlexDaniel`, https://gist.github.com/ce1b313d45b37e57446d5df4903ff0db
04:29 samcv nice
04:51 AlexDaniel` samcv: fwiw I'm still looking at some modules. I'll let you know when it starts looking safe from my side
04:51 samcv awesome, thanks!
04:59 astj joined #perl6-dev
05:34 AlexDaniel` ok so Test::Scheduler no longer passes its tests
05:39 AlexDaniel` created this issue for now: https://github.com/jnthn/p6-test-scheduler/issues/3
05:39 samcv thanks AlexDaniel`
05:50 AlexDaniel` OO::Actors is failing too https://github.com/jnthn/oo-actors/issues/6
06:01 astj joined #perl6-dev
06:39 Geth ¦ rakudo/nom: 2262cc477c | usev6++ | src/core/Match.pm
06:39 Geth ¦ rakudo/nom: Fix JVM build (re-add removed sigil to 'match')
06:39 Geth ¦ rakudo/nom:
06:39 Geth ¦ rakudo/nom: The sigils have been removed (unintentionally, for sure) with
06:39 Geth ¦ rakudo/nom: commit dd880cad42. Because this code was part of a '#? if !moar'
06:39 Geth ¦ rakudo/nom: branch, it didn't explode while building Moar.
06:39 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2262cc477c
06:59 AlexDaniel` good catch
07:10 Geth ¦ rakudo/nom: 7277aa5470 | (Aleks-Daniel Jakimenko-Aleksejev)++ | tools/build/NQP_REVISION
07:10 Geth ¦ rakudo/nom: Pre-release NQP_REVISION bump
07:10 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7277aa5470
07:10 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.09-116-g252fd89...2017.09-119-g4494e7049
07:10 Geth ¦ rakudo/nom: d10d697748 | (Aleks-Daniel Jakimenko-Aleksejev)++ | docs/ChangeLog
07:10 Geth ¦ rakudo/nom: More ChangeLog tweaks
07:10 Geth ¦ rakudo/nom:
07:10 Geth ¦ rakudo/nom: Deliberately not logged:
07:10 Geth ¦ rakudo/nom: 7cf5ce7e fece49cf 312cac78 9a137598 ba718f45
07:10 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d10d697748
07:10 Geth ¦ nqp: 4494e70496 | (Aleks-Daniel Jakimenko-Aleksejev)++ | tools/build/MOAR_REVISION
07:10 Geth ¦ nqp: Pre-release MOAR_REVISION bump
07:10 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/4494e70496
07:10 Geth ¦ nqp: version bump brought these changes: https://github.com/MoarVM/MoarVM/compare/2017.09.1-609-g1a9be0a...2017.09.1-614-g19523568
07:18 evalable6 joined #perl6-dev
07:48 AlexDaniel` hm, how does Inline::Perl decide what libperl.so version it wants?
07:48 samcv you can install multiple perl's like that?
07:49 samcv and not in separate directories?
07:50 AlexDaniel` well, problem is that releasable fails on Inline::Perl5 tests
07:50 AlexDaniel` it wants libperl.so.5.20 and I don't have it
07:50 AlexDaniel` now I'm wondering why it was working in the past
07:50 samcv because you had 5.20 before?
07:50 AlexDaniel` I guess I really had v5.20 before, yeah
07:51 samcv idk i have /usr/lib64/libperl.so.5.24 /usr/lib64/libperl.so.5.24.1 and /usr/lib64/libperl.so
07:51 AlexDaniel` so how do I use it with, say, v5.24?
07:51 samcv well it loads the module for me. idk i have a Gentoo based os
07:54 AlexDaniel` ooh
07:54 AlexDaniel` I see something
07:54 samcv my constant $p5helper = %?RESOURCES<libraries/p5helper>.Str;
08:00 astj joined #perl6-dev
08:38 AlexDaniel` alright, I filed this ticket: RT #132343
08:38 synopsebot RT#132343 [new]: https://rt.perl.org/Ticket/Display.html?id=132343 [REGRESSION] better-sched and other async improvement ecosystem fallout
08:38 AlexDaniel` if somebody has more information on these issues please let me know
08:38 * AlexDaniel` lunch &
08:42 samcv night &
08:46 evalable6 joined #perl6-dev
08:49 AlexDaniel` good night o/
09:23 [Tux] This is Rakudo version 2017.09-487-gd10d69774 built on MoarVM version 2017.09.1-614-g19523568
09:23 [Tux] csv-ip5xs        1.214 -  1.241
09:23 [Tux] test            12.255 - 12.594
09:23 [Tux] test-t           3.283 -  3.388
09:23 [Tux] csv-parser      12.696 - 13.172
09:33 lizmat Files=1229, Tests=75766, 316 wallclock secs (14.77 usr  5.27 sys + 2181.17 cusr 213.29 csys = 2414.50 CPU)
09:34 * lizmat doesn't see any commits that would explain the drop in test-t timing
09:44 AlexDaniel` https://github.com/rakudo/rakudo/compare/2017.09-467-gd20e972a1...2017.09-487-gd10d69774
09:44 AlexDaniel` that's for the 3.101→3.283 change
09:46 AlexDaniel` Geth: ver https://github.com/rakudo/rakudo/commit/6726d4af20ea5b973130036e4ce76695b30fe9bb
09:46 Geth AlexDaniel`, version bump brought in these changes: https://github.com/perl6/nqp/compare/2017.09-99-g254d590...2017.09-116-g252fd89
09:46 AlexDaniel` Geth: ver https://github.com/perl6/nqp/commit/252fd89025302e22518430357fd4fa405d029e89
09:46 Geth AlexDaniel`, version bump brought in these changes: https://github.com/MoarVM/MoarVM/compare/2017.09.1-608-ge051ee3...2017.09.1-609-g1a9be0a
10:01 lizmat AlexDaniel`: my personal benchmarks show no detoriation
10:02 astj joined #perl6-dev
10:03 gfldex m: my @a = (^10).list; @a = @a.hyper(:batch(5)).map({ LAST say "last"; „∅“ });
10:03 camelia rakudo-moar d10d69774: ( no output )
10:03 gfldex are LAST meant to be executed at the end of a batch?
10:04 gfldex I would need that or something similar to provide progress indication when working with large lists.
10:06 gfldex jnthn: please take note of ^^^
10:06 AlexDaniel` gfldex: file a ticket if you want that to be noted
10:06 gfldex RT doesn't take my e-mails anymore
10:08 * gfldex tests if RT likes him again
10:08 AlexDaniel` gfldex: ok, open a ticket here then: https://github.com/rakudo/rakudo/issues
10:09 gfldex AlexDaniel`: I will if my RT test fails.
10:12 AlexDaniel` buggable: tags
10:12 buggable AlexDaniel`, Total: 1628; 6.D: 2; 9999: 9; @LARRY: 28; ANNOYING: 8; BOGUSTEST: 1; BOOTSTRAP: 4; BUG: 587; BUILD: 12; CONC: 39; DOCS: 1; EXOTICTEST: 5; FLAP: 1; GLR: 3; IO: 19; JVM: 48; LHF: 7; LTA: 178; MATH: 6; META: 2; MOAR: 2; MOLD: 233; NATIVECALL: 21; NYI: 58; OO: 13; OPTIMIZER: 8; OSX: 2; PARSER: 5; PERF: 27; POD: 19; PRECOMP: 15; REGEX: 46;
10:12 buggable AlexDaniel`, REGRESSION: 38; REPL: 6; RFC: 61; RT: 2; SECURITY: 2; SEGV: 30; SINK: 1; SITE: 1; SPESH: 1; STAR: 7; TESTCOMMITTED: 12; TESTNEEDED: 38; TODO: 13; UNI: 27; UNTAGGED: 283; WEIRD: 2; WINDOWS: 4; See http://fail.rakudo.party/ for details
10:16 AlexDaniel` gfldex: sorry for the issues with RT. I feel your pain.
10:20 llfourn joined #perl6-dev
10:24 AlexDaniel` and yes, I did open rakudo/issues. My justification is here: https://github.com/rakudo/rakudo/issues/1199#issuecomment-338466171
10:30 Geth ¦ roast/6.c-errata: a63f653374 | (Jonathan Worthington)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | S02-types/WHICH.t
10:30 Geth ¦ roast/6.c-errata: HyperWorkBuffer is going away
10:30 Geth ¦ roast/6.c-errata:
10:30 Geth ¦ roast/6.c-errata: This was the only mention of it in the whole test suite. It was an
10:30 Geth ¦ roast/6.c-errata: implementation details of the previous hyper/race mechanism, which is
10:30 Geth ¦ roast/6.c-errata: being replaced.
10:30 Geth ¦ roast/6.c-errata: review: https://github.com/perl6/roast/commit/a63f653374
10:34 AlexDaniel` lizmat: hello. It seems that this commit should be cherry-picked to 6.c-errata https://github.com/perl6/roast/commit/be53acf4431a3d375e8b0fcc2d76d5913017b6ad#diff-77f5f797220398715a54ffcc2b01b797L23
10:35 AlexDaniel` lizmat: but I don't really understand what's going on there, any chance for a more verbose explanation? :)
10:36 AlexDaniel` also, “valuek”
10:36 lizmat AlexDaniel`: first of all, I don't think these tests have a place in roast as they're really rakudo specific
10:36 lizmat having said that, the change I made in the BUILDALL autogen, is that if the default value of an attribute is a compile-time value
10:37 lizmat (such as "foo" or 42)
10:37 lizmat it will store that value in the Attribute.build_closure slot
10:37 lizmat which before only contained something Callable (even if the value was compile-time only)
10:38 lizmat the $*FOO // 42 forced the initializer to be a code closure (like before)
10:39 lizmat so that the test didn't need change
10:39 lizmat in the other case, I did *not* change the default value, so now we need to check for that value, rather than being a callable thing
10:39 lizmat does that make sense to you?
10:40 lizmat the alternative would have been to add an attribute to the Attribute class
10:40 lizmat (and yes, it's turtles all the way down :-)
10:41 AlexDaniel` yeah, it makes sense, although I don't see the resolution for the issue yet :)
10:42 AlexDaniel` I mean, do I just cherry-pick it, or do we move it to rakudo and say that these test shouldn't've been in roast at all?
10:42 AlexDaniel` greppable6: \.build
10:42 greppable6 AlexDaniel`, Sorry, can't do that
10:43 * AlexDaniel` attempts to fix greppable6
10:45 AlexDaniel` LOL
10:46 AlexDaniel` that's a blocker I think
10:46 AlexDaniel` ≠ op is broken
10:46 AlexDaniel` I should really pay more attention to whateverables.
10:47 lizmat I would say, cherry pick for now
10:48 AlexDaniel` m: say (0 != 0 | 1 or 0 != 0)
10:48 camelia rakudo-moar d10d69774: OUTPUT: «False␤»
10:48 AlexDaniel` m: say (0 ≠ 0 | 1 or 0 ≠ 0)
10:48 camelia rakudo-moar d10d69774: OUTPUT: «True␤»
10:49 AlexDaniel` my problem with using whateverable as a reliable canary is that we won't release anything for months if we wait for rakudo issues to be fixed so that the bots work again :)
10:50 AlexDaniel` for example, right now some test files get stuck in the middle. No idea what's going on, I can't bisect bisectable unfortunately.
10:51 AlexDaniel` bisect: say (0 ≠ 0 | 1 or 0 ≠ 0)
10:51 bisectable6 AlexDaniel`, Bisecting by exit code (old=2015.12 new=d10d697). Old exit code: 1
10:51 bisectable6 AlexDaniel`, bisect log: https://gist.github.com/a54ba13b52b3353237992a7b9787ee89
10:51 bisectable6 AlexDaniel`, (2017-03-05) https://github.com/rakudo/rakudo/commit/d2c5684e50a2f4a633b6595d0e4ed445de7a6703
10:51 AlexDaniel` oops that's a wrong range
10:51 AlexDaniel` bisect: old=2017.09 say (0 ≠ 0 | 1 or 0 ≠ 0)
10:51 bisectable6 AlexDaniel`, Bisecting by output (old=2017.09 new=d10d697) because on both starting points the exit code is 0
10:51 bisectable6 AlexDaniel`, bisect log: https://gist.github.com/dd059148d35e3fd4d591ed9c6498b5df
10:51 bisectable6 AlexDaniel`, (2017-09-25) https://github.com/rakudo/rakudo/commit/1af2a745fcd551daaeb046fadd5f8626389ecf05
10:51 lizmat AlexDaniel`: I think it's known that some commits caused hangs in the test-suite, so why not in a particular piece of code?
10:52 lizmat so, you should give a commit only X resources, and kill it if it doesn't finish in time
10:52 lizmat no>
10:52 lizmat right ?
10:52 AlexDaniel` right, but bisectable hangs in its own code
10:52 AlexDaniel` IIRC when trying to fuzzy-match tag names and shas
10:53 AlexDaniel` bisectable6: old=DEAD say 42
10:53 bisectable6 AlexDaniel`, Cannot find revision “DEAD” (did you mean “HEAD”?)
10:53 AlexDaniel` like here ↑
10:54 AlexDaniel` my wild guess is that it is running out of handles, or something like that, and it could very well be my mistake
10:54 AlexDaniel` at the same time no handles are needed for fuzzy-matching things? I really don't know actually.
10:55 AlexDaniel` commit: 1af2a745fcd^,1af2a745fcd say (0 ≠ 0 | 1 or 0 ≠ 0)
10:55 committable6 AlexDaniel`, ¦1af2a745fcd^: «False» ¦1af2a74: «True»
10:55 AlexDaniel` commit: 2017.09,1af2a745fcd^,1af2a745fcd,HEAD say (0 ≠ 0 | 1 or 0 ≠ 0)
10:55 committable6 AlexDaniel`, ¦2017.09,1af2a745fcd^: «False» ¦1af2a74,HEAD(d10d697): «True»
10:59 AlexDaniel` okay: RT #132346
10:59 synopsebot RT#132346 [new]: https://rt.perl.org/Ticket/Display.html?id=132346 [REGRESSION] ≠ is not identical to != in some cases (0 ≠ 0 | 1 or 0 ≠ 0)
11:01 Zoffix AlexDaniel`: when are you releasing?
11:02 lizmat hmmm... I'm not sure we are in agreement on the behaviour of phasers in hypered blocks
11:02 AlexDaniel` Zoffix: not any time soon. samcv++ is resting and the moarvm changelog is not ready yet I think
11:02 lizmat I was thinking of outlawing them in this release while we figure out the semantics in the coming releases
11:02 AlexDaniel` Zoffix: it should also be decided if what we see in jnthn's modules is very wrong or just a little bit wrong
11:03 AlexDaniel` or maybe not wrong at all
11:03 Zoffix Which is what?
11:03 astj joined #perl6-dev
11:03 AlexDaniel` releasable6: status
11:03 releasable6 AlexDaniel`, Next release will happen when it's ready. 2 blockers. 485 out of 487 commits logged
11:03 releasable6 AlexDaniel`, Details: https://gist.github.com/bab260db219b8aab65900e84769207c1
11:03 AlexDaniel` RT #132343
11:03 synopsebot RT#132343 [new]: https://rt.perl.org/Ticket/Display.html?id=132343 [REGRESSION] better-sched and other async improvement ecosystem fallout
11:04 AlexDaniel` I did not have any time yet to golf these things
11:04 AlexDaniel` and just the fact that the tests are failing does not tell much
11:09 Geth ¦ roast/6.c-errata: b7252b0c7b | (Elizabeth Mattijsen)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | S12-introspection/attributes.t
11:09 Geth ¦ roast/6.c-errata: Adapt tests to new possible Attribute.build values
11:09 Geth ¦ roast/6.c-errata:
11:09 Geth ¦ roast/6.c-errata: Detailed explanation by lizmat++:
11:09 Geth ¦ roast/6.c-errata:
11:09 Geth ¦ roast/6.c-errata:     First of all, I don't think these tests have a place in roast as
11:09 Geth ¦ roast/6.c-errata:     they're really rakudo specific.
11:09 Geth ¦ roast/6.c-errata:
11:09 Geth ¦ roast/6.c-errata: <…commit message has 10 more lines…>
11:09 Geth ¦ roast/6.c-errata: review: https://github.com/perl6/roast/commit/b7252b0c7b
11:09 AlexDaniel` lizmat: I hope you don't mind ↑ :)
11:09 lizmat AlexDaniel`: no pb  :-)
11:09 greppable6 joined #perl6-dev
11:09 AlexDaniel` greppable6: \.build
11:09 greppable6 AlexDaniel`, https://gist.github.com/5b1779b3c7d6c7732775ba4dd95e9890
11:10 Zoffix AlexDaniel`: "not for a while" is what? Like a week before jnthn++ can get back and fix the scheduler problesm if there are any?
11:10 Zoffix Trying to figure out what I should push into nom and what into post-release branch
11:14 AlexDaniel` Zoffix: sorry for the inconvenience. It really depends, it's possible that some things may simply be reverted and jnthn++ will not be needed. We will see how it goes. Or maybe one of the mere mortals will find a way to fix it :) I think it's ok to push to post-release branch by default, I'll merge it after the release (and will take care of merge conflicts if there are any)
11:14 AlexDaniel` you can use committable with any branch
11:14 AlexDaniel` although it's a bit inconvenient that you'll have to specify the sha
11:15 AlexDaniel` for example
11:15 AlexDaniel` commit: 738908be4 say 42
11:15 AlexDaniel` see, that works great.
11:15 committable6 joined #perl6-dev
11:15 AlexDaniel` commit: 738908be4 say 42
11:15 committable6 AlexDaniel`, ¦738908b: «Cannot find this revision (did you mean “456c439”?)»
11:15 AlexDaniel` :(
11:15 Zoffix don't worry about it
11:18 AlexDaniel` Zoffix: the fix for ≠, if there is one, I'm hoping to see in master :)
11:19 Zoffix Working on it ATM
11:19 AlexDaniel` Zoffix++
11:24 AlexDaniel` commit: 738908be4d79f1472821cd363ec82a1ef0bc3f32 say 42
11:24 committable6 AlexDaniel`, ¦738908b: «Cannot find this revision (did you mean “50c24a8”?)»
11:25 AlexDaniel` bah. The build is right there, but committable6 is refusing to use it
11:41 * AlexDaniel` will be away for ≈2 hours
12:03 Geth ¦ rakudo/nom: a042fd927c | (Elizabeth Mattijsen)++ | src/core/Rakudo/Internals/HyperRaceSharedImpl.pm
12:03 Geth ¦ rakudo/nom: Make phasers in hyper/race throw an NYI
12:03 Geth ¦ rakudo/nom:
12:03 Geth ¦ rakudo/nom: Which will allow us to shake out the semantics of phasers like LAST
12:03 Geth ¦ rakudo/nom: until the next release, without getting code out there that may depend
12:03 Geth ¦ rakudo/nom: on the current semantics (which will probably change)
12:03 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a042fd927c
12:04 astj joined #perl6-dev
12:11 lizmat afk for a few hours&
12:28 Zoffix The (0 ≠ 0 | 1 or 42) thing isn't a regression. It was implemented this way originally, until it was rewritten in a13bad9 and now 1af2a745fcd551 reverted that and it's broken again
12:28 Zoffix Something with optimization with junctions
12:29 Zoffix "Negated operators are special-cased when it comes to autothreading. $a !op $b is rewritten internally as !($a op $b)"
12:29 Zoffix I'm guessing this isn't being done for ≠ which is what the bug's about
12:31 AlexDaniel I thought it was working in 2017.09
12:35 astj joined #perl6-dev
12:38 Zoffix No, there was a bug
12:41 MasterDuke joined #perl6-dev
12:53 Zoffix m: $ = (1 ≠ 1|2 or 42) for ^100_000; say now - INIT now
12:53 camelia rakudo-moar a042fd927: OUTPUT: «1.509733␤»
12:53 Zoffix m: $ = (1 != 1|2 or 42) for ^100_000; say now - INIT now
12:53 camelia rakudo-moar a042fd927: OUTPUT: «0.01753618␤»
12:53 Zoffix m: say 1.509733/.0175
12:53 camelia rakudo-moar a042fd927: OUTPUT: «86.270457␤»
12:55 Zoffix *sigh*
12:55 Zoffix Gonna fix it with messy-but-easy way
12:56 Zoffix the capture slipping doesn't get folded, which causes both the 86x slowage and apparently the semantic differences
13:00 Zoffix or maybe semantic diff is still there for != case too when its args can't be folded
13:01 Zoffix (nope, doesn't look like it)
13:38 astj joined #perl6-dev
14:13 timotimo oh, the problem with ≠ was in the junction optimizer?
14:14 Zoffix m: ["{.file}:{.line}", .signature].say for &infix:<!=>.candidates
14:14 camelia rakudo-moar a042fd927: OUTPUT: «No such method 'file' for invocant of type 'Any'␤  in block <unit> at <tmp> line 1␤␤»
14:14 Zoffix anotehr bug
14:15 Zoffix timotimo: there's more than one problem. The fix for 86x perf drop doesn't handle all the cases either.
14:17 Zoffix Gonna just duplicate the ≠, ≤, and ≥ candidates in source, for now. Don't fully know how to swap these to ASCII equivalents in the Grammar/Actions, since we also have to take care to swap it only when they'd resolve to core ops. And we could make a rule that ALL Texas operators are just in-source aliases for ASCII versions and swap all of them that way
14:41 * AlexDaniel` back
14:45 astj joined #perl6-dev
14:51 Geth ¦ roast/6.c-errata: 57eada3912 | TimToady++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | S32-exceptions/misc.t
14:51 Geth ¦ roast/6.c-errata: overspecific test disallows eject in correct spot
14:51 Geth ¦ roast/6.c-errata: review: https://github.com/perl6/roast/commit/57eada3912
14:51 Geth ¦ roast/6.c-errata: f4c2ad4a50 | (Zoffix Znet)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | S32-io/pipe.t
14:51 Geth ¦ roast/6.c-errata: Fix broken Proc piping test
14:51 Geth ¦ roast/6.c-errata:
14:51 Geth ¦ roast/6.c-errata: .close on a pipe returns the Proc and sunk Proc awaits the
14:51 Geth ¦ roast/6.c-errata: process to finish. This causes proc1 in the test to finish off
14:51 Geth ¦ roast/6.c-errata: before the second proc had a chance to grab its pipe.
14:51 Geth ¦ roast/6.c-errata:
14:51 Geth ¦ roast/6.c-errata: The only reason this test was passing in the past is due to a bug where
14:52 Geth ¦ roast/6.c-errata: only the .close on the last open handle actually returned a Proc
14:52 Geth ¦ roast/6.c-errata: review: https://github.com/perl6/roast/commit/f4c2ad4a50
14:52 AlexDaniel` Zoffix: interestingly, your original commit message claimed “The test is not part of 6.c-errata.” :)
14:52 Zoffix AlexDaniel`: what test?
14:52 AlexDaniel` https://github.com/perl6/roast/commit/220e202a5e3fcbbd58482798c5d10ebeac8d510a#diff-40167745b436dc25a07e9ae0726ade82
14:57 Zoffix I went by RT number
14:57 Zoffix But in the past it was passing only 'cause of a bug where sunk proc didn't wait for anything
15:00 Zoffix Man, the one thing I immediatelly notice with rakudo's Issues is I get notifications about them all the time. With RT, they only go to email and I read them a few times a week
15:01 AlexDaniel` Zoffix: what about https://github.com/settings/notifications ?
15:02 AlexDaniel` you can turn off web notifications there
15:02 Zoffix they're global settings
15:04 Zoffix And also, you can't unmark notifications as read. On email I could.
15:04 Zoffix I don't even get github email
15:05 Geth ¦ rakudo: usev6++ created pull request #1201: [jvm] Fix p6bindattrinvres for native attributes
15:05 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1201
15:12 Zoffix ZofBot: it's different and I don't like things that are different!
15:12 ZofBot Zoffix, But above all they contain a bottomless reserve of cheap labour
15:15 Zoffix m: say 'x'␤␤
15:15 camelia rakudo-moar a042fd927: OUTPUT: «x␤»
15:16 Zoffix m: say 'x'␤␤#x
15:16 camelia rakudo-moar a042fd927: OUTPUT: «x␤»
15:16 Zoffix m: use Test; is-deeply (0 ≠ 0 | 1 or 42), 42, 'Junctions with ≠ works like for negated ops'␤␤#x
15:16 camelia rakudo-moar a042fd927: OUTPUT: «not ok 1 - Junctions with ≠ works like for negated ops␤# Failed test 'Junctions with ≠ works like for negated ops'␤# at <tmp> line 1␤# expected: 42␤#      got: Bool::True␤»
15:16 Zoffix Weird. In a file the missing semicolon is complained about
15:21 Geth ¦ rakudo/nom: 6ad06fad9f | (Zoffix Znet)++ | 11 files
15:21 Geth ¦ rakudo/nom: Make ≤, ≥, and ≠ work like ASCII versions
15:21 Geth ¦ rakudo/nom:
15:21 Geth ¦ rakudo/nom: Fixes RT#132346: https://rt.perl.org/Ticket/Display.html?id=132346
15:21 Geth ¦ rakudo/nom: Alt Fix for RT#131626: https://rt.perl.org/Ticket/Display.html?id=131626
15:21 Geth ¦ rakudo/nom:
15:21 Geth ¦ rakudo/nom: The previous fix did not catch all the cases even with core ops and
15:21 Geth ¦ rakudo/nom: did not (on purpose) resolve issues when user defined their own
15:21 synopsebot RT#132346 [new]: https://rt.perl.org/Ticket/Display.html?id=132346 [REGRESSION] ≠ is not identical to != in some cases (0 ≠ 0 | 1 or 0 ≠ 0)
15:21 Geth ¦ rakudo/nom: <…commit message has 6 more lines…>
15:21 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6ad06fad9f
15:21 synopsebot RT#131626 [open]: https://rt.perl.org/Ticket/Display.html?id=131626 [PERFTEST][PERF] ≥ and ≤  are 36x slower than Texas version; ≠ is 15x slower
15:21 Geth ¦ roast: e039bab7c5 | (Zoffix Znet)++ | S03-operators/misc.t
15:21 Geth ¦ roast: Test junctions with ≠
15:21 Geth ¦ roast:
15:21 Geth ¦ roast: RT#132346: https://rt.perl.org/Ticket/Display.html?id=132346
15:21 Geth ¦ roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/6ad06fad9f
15:21 Geth ¦ roast: review: https://github.com/perl6/roast/commit/e039bab7c5
15:23 AlexDaniel` Zoffix++
15:31 timotimo ah, it's because we special-case negated ops
16:03 astj joined #perl6-dev
16:03 buggable joined #perl6-dev
16:42 timotimo oh nice
16:42 bartolin Zoffix: the other day I stumbled above this todo'ed test for RT #121940: https://github.com/perl6/roast/blob/e039bab7c5135e326c65f9db8a304a750a049633/integration/advent2010-day19.t#L21
16:42 synopsebot RT#121940 [resolved]: https://rt.perl.org/Ticket/Display.html?id=121940 [@LARRY] say True but False # should be 'True' (advent2010-day19)
16:42 timotimo m: loop (my $i = 0.0; $i < 100_000.0; $i += 0.1) { }; say now - INIT now
16:42 camelia rakudo-moar 6ad06fad9: OUTPUT: «2.049006192␤»
16:43 bartolin Zoffix: you closed the ticket, explaining that the current behaviour is correct. should we adjust the test?
16:43 timotimo the #3 most time consuming part of that was DON'T_DIVIDE_NUMBERS, by rewriting it with ?? !! and nqp::p6bindattrinvres i got it down to the #4 spot with a comfortable margin
16:43 timotimo that one alone had 552ms before and 242ms afterwards
16:44 bartolin timotimo++ :-)
16:44 timotimo maybe it's still something for after the release?
16:45 timotimo i'll stresstest it
16:45 Zoffix bartolin: yeah, should be changed, since Bool.Str relies on Bool.Bool's value, which is changed by the role
16:46 bartolin I'll do that, thanks
17:01 timotimo i'm now investigating whether giving Rat and FatRat their own numerator and denominator accessor methods is worth doing
17:04 timotimo nope. not worth anything
17:06 astj joined #perl6-dev
17:07 timotimo m: say 2813 / 3352
17:07 camelia rakudo-moar 6ad06fad9: OUTPUT: «0.839200␤»
17:07 timotimo that's from making DON'T_DIVIDE_NUMBERS faster
17:07 timotimo well, this is with profiler enabled
17:07 timotimo which might skew the results
17:23 Geth ¦ roast: eb3b95e9c4 | usev6++ | integration/advent2010-day19.t
17:23 Geth ¦ roast: Fix test for 'True but False'
17:23 Geth ¦ roast:
17:23 Geth ¦ roast: cmp. RT #121940
17:23 Geth ¦ roast: review: https://github.com/perl6/roast/commit/eb3b95e9c4
17:23 synopsebot RT#121940 [resolved]: https://rt.perl.org/Ticket/Display.html?id=121940 [@LARRY] say True but False # should be 'True' (advent2010-day19)
17:24 bartolin Zoffix: ^^ I hope, that's matching your explanation
17:29 MasterDuke timotimo: think https://github.com/perl6/nqp/pull/376 is worthwhile?
17:31 timotimo hm, is it safe to remove the declaration?
17:31 timotimo also: weird! we have a hash in there, but it has an @ sigil
17:31 timotimo as default value i mean
17:32 timotimo nqp-m: say(nqp::elems(@*nosuchvar))
17:32 camelia nqp-moarvm: OUTPUT: «0␤»
17:32 timotimo nqp-m: nqp::push(@*nosuchvar, 1)
17:32 camelia nqp-moarvm: ( no output )
17:32 MasterDuke i think the declaration is from before it got turned into a dyn var
17:33 timotimo OK, so there's still something that holds a declaration for it?
17:33 MasterDuke hm, not sure
17:33 timotimo in that case it's probably nice to have. we'll be calling add_comp_line_directive like 50 times?
17:33 MasterDuke but line numbers still work after thechange
17:33 timotimo that's what gives us proper line numbers for inside the core setting, right?
17:34 timotimo might want to have it after the release
17:34 MasterDuke yeah, saves 621 Ns in the dyn var log
17:34 MasterDuke sure, no reason it has to go in before
17:36 timotimo BBL
18:07 astj joined #perl6-dev
18:12 timotimo i wonder how to stress DIVIDE_NUMBERS a little bit to see if rewriting the final part just like DON'T_DIVIDE_NUMBERS makes a good difference here, too
18:13 timotimo ah, just add 1/30 over and over instead of 0.1
18:15 timotimo oh, haha
18:15 timotimo that gets the denominator to be "the same" right away
18:18 timotimo cool, this benchmark has DIVIDE_NUMBERS at the top
18:18 timotimo it does degenerate into num at some point, though, which is unfortunate for benchmarking reasons
18:19 timotimo using FatRat is probably more representative
18:19 timotimo yikes
18:23 timotimo this benchmark now has gcd as its most expensive operation m(
18:28 astj joined #perl6-dev
18:28 timotimo found one that spends 24% of its time in divide_numbers and only 3% in gcd
18:29 timotimo m: say 2.8 / 3
18:29 camelia rakudo-moar 6ad06fad9: OUTPUT: «0.933333␤»
18:44 Geth ¦ rakudo/microoptimize_dont_divide_numbers: 332e34d3b9 | (Timo Paulssen)++ | src/core/Rat.pm
18:44 Geth ¦ rakudo/microoptimize_dont_divide_numbers: microoptimize (DON'T_)DIVIDE_NUMBERS
18:44 Geth ¦ rakudo/microoptimize_dont_divide_numbers: review: https://github.com/rakudo/rakudo/commit/332e34d3b9
18:44 timotimo passes stresstest and such just fine, but i'd still rather have it after the release
18:46 dogbert17 timotimo: does this tell you anything? https://gist.github.com/dogbert17/909a5661c659fa1a7f2f7f93af9c9d4f
18:47 timotimo this is about joining threads?
18:50 timotimo dogbert17: could you get the perl6 ops compiled with debug symbols, too?
18:50 timotimo it's part of the rakudo build process
18:50 dogbert17 https://github.com/perl6/roast/blob/master/S17-lowlevel/thread.t#L106
18:51 dogbert17 is it an option to rakudo's make ?
18:51 timotimo hm, i'm not sure
18:51 timotimo line 437 in my local makefile has it
18:51 timotimo $(M_PERL6_OPS_DLL): $(M_PERL6_OPS_SRC) $(M_PERL6_CONT_SRC)
18:52 timotimo this is the directive
18:52 dogbert17 hmm, moar was not compiled with --no-optimize
18:52 timotimo you'll want to have -g in the M_CC as well as the M_LD calls
18:52 timotimo actually, there's just a single capturelex call in that function
18:53 timotimo so i actually know which line it corresponds to
18:53 dogbert17 could it be a missing MVM_ROOT ?
18:55 timotimo actually ... MVM_frame_capturelex probably allocates, right?
18:55 timotimo if it does that, p6_code_obj might move?
18:56 timotimo it doesn't look like the local variable p6_code_obj is ever written to?
18:57 timotimo so could "just" assign reg 2's .o to reg 0's .o
18:57 timotimo can you try that?
18:57 dogbert17 which line
18:59 timotimo the last line
18:59 timotimo i wonder why it'd leave the original value of the target register untouched if the first check causes an early return?
19:00 dogbert17 I'm a moron. I've already reported this as https://github.com/MoarVM/MoarVM/issues/728. On the other hand the asan output is slightly different
19:12 greppable6 joined #perl6-dev
19:12 committable6 joined #perl6-dev
19:16 timotimo hmpf. but what is 20 bytes into the tc?
19:17 timotimo on my machine locally 20 bytes into the tc is between two fields :\
19:28 dogbert17 and if you pretend to be using a 32 bit system what then ?
19:28 timotimo oh!
19:30 timotimo hm, is that where the nursery_fromspace pointer lives or something?
19:30 timotimo could you print offsetof(MVMThreadContext, nursery_fromspace) in gdb or something?
19:34 Ven joined #perl6-dev
19:36 dogbert17 let me try
19:39 dogbert17 (gdb) p offsetof(MVMThreadContext, nursery_fromspace)
19:39 dogbert17 $1 = (void **) 0x14
19:40 tadzik joined #perl6-dev
19:40 Geth ¦ roast: 2ac82855b6 | usev6++ | 2 files
19:40 Geth ¦ roast: [jvm] Fudge some newly added tests
19:40 Geth ¦ roast: review: https://github.com/perl6/roast/commit/2ac82855b6
19:40 timotimo well, 0x14 is 20, so that's what
19:41 timotimo so the thread is falling apart from under the code running on it
19:42 dogbert17 that sounds quite bad :)
19:44 dogbert17 is there some place where the tc itself needs to be rooted?
19:46 timotimo i'm not sure how exactly the thread gets ended
19:46 timotimo first i'll have dinner though :)
19:46 dogbert17 have a nice meal
19:54 bartolin joined #perl6-dev
20:00 AlexDaniel joined #perl6-dev
20:00 ilmari[m] joined #perl6-dev
20:00 CIAvash[m] joined #perl6-dev
20:22 astj joined #perl6-dev
21:19 btyler joined #perl6-dev
21:52 lizmat joined #perl6-dev
22:12 Geth ¦ rakudo/nom: 3f595acfbd | (Elizabeth Mattijsen)++ | docs/ChangeLog
22:12 Geth ¦ rakudo/nom: Add phaser in hyper/race NYI commit to ChangeLog
22:12 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3f595acfbd
22:23 astj joined #perl6-dev
23:01 astj joined #perl6-dev
23:11 * samcv is still working on mvm changelog :P
23:13 timotimo does that mean my latest change to make MVM_SPESH_LOG not segfault can make it into the release! :3
23:18 samcv yes
23:19 timotimo cool
23:19 timotimo that would have been quite the blunder
23:22 samcv maybe i should get brrt to write the changelog for his stuff...
23:22 samcv hah
23:22 samcv i mean since it's a new thing that's introduced. all the small commits are not really changes from last month
23:22 timotimo you think we need much more than one line about the new jit in there?
23:22 samcv since it's wholey new
23:22 timotimo exactly
23:36 b2gills joined #perl6-dev

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary