ugexe | use local CURIs as a faux metacpan microservice: gist.github.com/ugexe/10a1bf67f884...08e3577b2a | 00:54 | |
idea is to eventually act as both a web front-end to zef/cur as well as easily exposing it as a microservice to act as a darkpan | 00:57 | ||
AlexDaniel- | “35768 snippets tested, 10524 are known to be unstable” | 02:18 | |
wait what | |||
no way I'm going through 10524 snippets | |||
:S | 02:20 | ||
so can we finally open rakudo/issues? I don't think I can take it anymore | 02:36 | ||
.tell Zoffix Have you seen RT #132280 ? It looks like something you might enjoy working on (judging by the recent-ish optimizer ticket you resolved) | 02:40 | ||
yoleaux | AlexDaniel-: I'll pass your message to Zoffix. | ||
synopsebot | RT#132280 [new]: rt.perl.org/Ticket/Display.html?id=132280 [REGRESSION][PERF] Cool methods that take and pass a Capture are uber slower (.contains: 'meow' for ^10000_00) | ||
AlexDaniel- | .tell lizmat fwiw please feel freer to reject my latest regression tickets | 02:44 | |
yoleaux | AlexDaniel-: I'll pass your message to lizmat. | ||
AlexDaniel- | this is probably one of the funniest snippets I've seen | 02:53 | |
e: %*ENV<RAKUDO_NO_DEPRECATIONS>:delete; DEPRECATED("the garbage bin") | |||
evalable6 | Saw 1 occurrence of deprecated code. =====================================================… |
||
AlexDaniel-, Full output: gist.github.com/98bf0ca4675e32ef98...239a1f4544 | |||
AlexDaniel- | “Please use the garbage bin instead.” | ||
.tell MasterDuke FWIW RT #132291 | 03:14 | ||
yoleaux | AlexDaniel-: I'll pass your message to MasterDuke. | ||
synopsebot | RT#132291 [new]: rt.perl.org/Ticket/Display.html?id=132291 [LTA] Too few positionals passed to '' (for [:a] X [:b] -> ($i, $j) { }) | ||
AlexDaniel- | “No regressions in stresstest from this, which is a promising sign.” github.com/rakudo/rakudo/commit/4a...eb98002608 | 03:26 | |
how is it called when bisectable points at some commit? “unpromising sign”? :) | 03:27 | ||
.tell fwiw RT #132292. IMO it's blocker-worthy, but not marking it as such just yet. What do you think? | 03:44 | ||
yoleaux | AlexDaniel-: I'll pass your message to fwiw. | ||
synopsebot | RT#132292 [new]: rt.perl.org/Ticket/Display.html?id=132292 [REGRESSION] Recursively .emit-ing from the tap of the same supply bails out | ||
AlexDaniel- | /o\ | ||
.tell jnthn fwiw RT #132292. IMO it's blocker-worthy, but not marking it as such just yet. What do you think? | |||
yoleaux | AlexDaniel-: I'll pass your message to jnthn. | ||
AlexDaniel- | .tell lizmat does this look alright? Let me know. c: 21b9a720c7^,21b9a720c7 dd Set.Mix | 04:36 | |
yoleaux | AlexDaniel-: I'll pass your message to lizmat. | ||
AlexDaniel- | ouch | 04:45 | |
ah, nvm | 04:46 | ||
.tell Zoffix fwiw RT #132293 | 06:08 | ||
yoleaux | AlexDaniel-: I'll pass your message to Zoffix. | ||
synopsebot | RT#132293 [new]: rt.perl.org/Ticket/Display.html?id=132293 [REGRESSION] It is no longer possible to create native ints with .new (int32.new(42)) | ||
AlexDaniel- | m: 0xD4DB.uniname.say | 06:15 | |
camelia | Hangul Syllable PWILH | ||
AlexDaniel- | .tell samcv hey, is it correct that uninames of Hangul syllables have no <…> around them? c: 2017.08,HEAD 0xD4DB.uniname.say | 06:16 | |
yoleaux | AlexDaniel-: I'll pass your message to samcv. | ||
samcv | AlexDaniel-, yes | ||
yoleaux | 06:16Z <AlexDaniel-> samcv: hey, is it correct that uninames of Hangul syllables have no <…> around them? c: 2017.08,HEAD 0xD4DB.uniname.say | ||
AlexDaniel- | OK, thanks | ||
samcv | the previous name was a placeholder name, and they're generated at database generation time | ||
since it's algorithmic the name data | 06:17 | ||
technically we could do that, but there aren't THAT many hangul characters. so i just added it easily. though if we wanted to save a tiny bit of space we could do the algorithmic aproach. but then i was concerned about then having to add extra logic to distinguish that codepoint range and would have been much more work | 06:18 | ||
AlexDaniel- | samcv: but I was thiking, don't we use <> for all autogenerated stuff that's in a way unofficial? | 06:19 | |
samcv | no it's official | 06:20 | |
AlexDaniel- | ah, okay | ||
samcv | the < > are for ones that have shared names | ||
AlexDaniel- | hmmmmm | ||
samcv | as in more than one cp with the same designation | ||
AlexDaniel- | m: say 0x10FFFF.uniname | ||
camelia | <noncharacter-10FFFF> | ||
AlexDaniel- | but that's unique now, isn't it? | ||
samcv | well yes | ||
that's how unicode designates it with those numbers | 06:21 | ||
but i meant before the hex digits- | |||
the < > designates it doesn't have an assigned name | |||
or at least we are still using the placeholder names in UnicodeData.txt. so like for hangul, even though it shows <Hangul Syllabl> there. they have always had names. just not listed in that file | |||
AlexDaniel- | hmm | 06:22 | |
samcv | but the names are determined by essentially the same algorithm that's used to decompose hangul's | ||
so we follow that spec for hangul | |||
does that make some sense? | 06:23 | ||
AlexDaniel- | yes, thank you very much | ||
samcv | ok :) | ||
AlexDaniel- | samcv: any plans for other grant applications? :) | ||
I'm just so happy with your work :) | 06:24 | ||
samcv | i need to decide what it will be though! | ||
i am very happy with my work too :) | |||
AlexDaniel- | like, I'm going through tons of snippets that have different output, and not all of them regressions of course, most are actually bug fixes | ||
and unicode related stuff comes up *very* often | |||
something about looking at what we had previously and what we have now makes me think that another grant is a very good idea :) | 06:25 | ||
uhhh | 06:31 | ||
c: 79b8ab9d3f^,79b8ab9d3f say $*KERNEL.signal: SIGUSR1 | |||
committable6 | AlexDaniel-, ¦79b8ab9d3f^: «10» ¦79b8ab9: «30» | ||
AlexDaniel- | c: 79b8ab9d3f^,79b8ab9d3f say +$*KERNEL.signal(SIGUSR1) | ||
committable6 | AlexDaniel-, ¦79b8ab9d3f^: «10» ¦79b8ab9: «30» | ||
AlexDaniel- | .tell Zoffix maybe you can also take a look at rt.perl.org/Ticket/Display.html?id...xn-1499238 | 06:35 | |
yoleaux | AlexDaniel-: I'll pass your message to Zoffix. | ||
AlexDaniel- | w… what | 06:38 | |
c: 2015.12 my int @x[-2**63]; say @x.shape | 06:39 | ||
committable6 | AlexDaniel-, ¦2015.12: «(-9223372036854775808)» | ||
AlexDaniel- | c: 2016.06 my int @x[-2**63]; say @x.shape | ||
committable6 | AlexDaniel-, ¦2016.06: «Illegal dimension in shape: -9223372036854775808. All dimensions must be integers bigger than 0 in block <unit> at /tmp/I1tG8GtUgl line 1 «exit code = 1»» | ||
AlexDaniel- | so it was fixed? but | ||
c: HEAD my int @x[-2**63]; say @x.shape | |||
committable6 | AlexDaniel-, ¦HEAD(012c80f): «(-9223372036854775808)» | ||
AlexDaniel- | (屮ಠ益ಠ)屮 | ||
arrrrrrrrggggh | 06:41 | ||
.tell lizmat fwiw RT #131966 | 06:43 | ||
yoleaux | AlexDaniel-: I'll pass your message to lizmat. | ||
synopsebot | RT#131966 [new]: rt.perl.org/Ticket/Display.html?id=131966 [REGRESSION][9999] Shaped native arrays with negative sizes (my int @a[-9999999999999999]) | ||
AlexDaniel- | c: c3b044df169^,c3b044df169 my $a = rx/aaaaaab/; 'a' x 999999 ~ 'b' ~~ /$a/; say now - INIT now | 06:52 | |
errr, what do I do with this | |||
committable6 | AlexDaniel-, ¦c3b044df169^: «3.29355215» ¦c3b044d: «4.84434404» | ||
AlexDaniel- | MasterDuke is maybe interested in INTERPOLATE stuff | 06:53 | |
hmm | |||
.tell MasterDuke hey, maybe you can take a look at RT #132294 | 06:56 | ||
yoleaux | AlexDaniel-: I'll pass your message to MasterDuke. | ||
synopsebot | RT#132294 [new]: rt.perl.org/Ticket/Display.html?id=132294 [REGRESSION][PERF] INTERPOLATE-related change made matching of large strings slower | ||
AlexDaniel- | mch: say (await (^10000).map({ start { $*THREAD.id } })).unique | 06:59 | |
committable6 | AlexDaniel-, ¦2015.12: «(3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18)» ¦HEAD(012c80f): «(4)» | ||
AlexDaniel- | is it supposed to be this way? | 07:01 | |
it is! | 07:02 | ||
mch: say (await (^10).map({ start { sleep 0.3; $*THREAD.id } })).unique | |||
committable6 | AlexDaniel-, ¦2015.12: «(3 4 5 6 7 8 9 10 11 12)» ¦HEAD(012c80f): «(4 6 7 8 9 10 11 12 13 14)» | ||
AlexDaniel- | ok nvm | ||
.tell Zoffix maybe also RT #132295 although it is low priority stuff | 07:54 | ||
yoleaux | AlexDaniel-: I'll pass your message to Zoffix. | ||
synopsebot | RT#132295 [new]: rt.perl.org/Ticket/Display.html?id=132295 [REGRESSION][LTA] :2(…) radix syntax no longer suggests using .base (:2(42)) | ||
AlexDaniel- | c: 2017.06,HEAD my $v = "\c[ZWJ]" x 100; say $v.chars | 08:07 | |
committable6 | AlexDaniel-, ¦2017.06: «100» ¦HEAD(012c80f): «1» | ||
AlexDaniel- | samcv: what about this? ↑ | ||
is it correct that you can chain ZWJ with itself? | |||
Geth_ | rakudo/nom: 7 commits pushed by (Daniel Green)++, lizmat++
|
09:03 | |
timotimo | ugexe: that microservice looks cool! | 09:31 | |
Zoffix | . | 10:00 | |
yoleaux | 02:40Z <AlexDaniel-> Zoffix: Have you seen RT #132280 ? It looks like something you might enjoy working on (judging by the recent-ish optimizer ticket you resolved) | ||
06:08Z <AlexDaniel-> Zoffix: fwiw RT #132293 | |||
06:35Z <AlexDaniel-> Zoffix: maybe you can also take a look at rt.perl.org/Ticket/Display.html?id...xn-1499238 | |||
07:54Z <AlexDaniel-> Zoffix: maybe also RT #132295 although it is low priority stuff | |||
synopsebot | RT#132280 [new]: rt.perl.org/Ticket/Display.html?id=132280 [REGRESSION][PERF] Cool methods that take and pass a Capture are uber slower (.contains: 'meow' for ^10000_00) | ||
RT#132293 [new]: rt.perl.org/Ticket/Display.html?id=132293 [REGRESSION] It is no longer possible to create native ints with .new (int32.new(42)) | |||
RT#132295 [new]: rt.perl.org/Ticket/Display.html?id=132295 [REGRESSION][LTA] :2(…) radix syntax no longer suggests using .base (:2(42)) | |||
Zoffix | c: 2017.06 multi x (int) { say "native" }; multi x (Int) { say "here" }; x int32.new(42) | 10:04 | |
committable6 | Zoffix, ¦2017.06: «here» | ||
Zoffix | AlexDaniel: looks like it wasn't possible before either | ||
c: 2017.04 multi x (int) { say "native" }; multi x (Int) { say "here" }; x int32.new(42) | |||
committable6 | Zoffix, ¦2017.04: «here» | ||
jnthn | m: say int32.new(42).WHAT | 10:14 | |
yoleaux | 03:44Z <AlexDaniel-> jnthn: fwiw RT #132292. IMO it's blocker-worthy, but not marking it as such just yet. What do you think? | ||
camelia | No such method 'BUILDALLPLAN' for invocant of type 'Perl6::Metamodel::NativeHOW' in block <unit> at <tmp> line 1 |
||
synopsebot | RT#132292 [new]: rt.perl.org/Ticket/Display.html?id=132292 [REGRESSION] Recursively .emit-ing from the tap of the same supply bails out | ||
jnthn | AlexDaniel: Actually I'd count that as a fix. | 10:15 | |
You're not meant to be allowed to be in the closure passed to tap more than once at a time | 10:16 | ||
This could accidentally happen | 10:17 | ||
Due to the implmentation detail of us using a recursive mutex | |||
Zoffix | m: use nqp; say nqp::box_i(42, int32.WHAT) | 10:20 | |
camelia | This representation (P6int) cannot unbox to other types (for type int32) in block <unit> at <tmp> line 1 |
||
jnthn | int32 is not meant to be something you can box | 10:21 | |
It's a native type | |||
Zoffix | Yeah. Was just trying to figure out where the error's coming from | ||
jnthn | Calling .new on it is very dubious also | ||
Though since type objects are objects, you can do it | |||
Zoffix | jnthn: so should int32.new(42) return a native int32 42? | 10:22 | |
jnthn | No | 10:23 | |
IMO it should blow up | |||
Though likely with a better error than today | |||
"Cannot make an instance of a native type" would do it | |||
Zoffix | ok | ||
jnthn | As to how the error happens: the type objects of native types claim to be subtypes of, say, Int | 10:25 | |
This is only true in a type checking sense, not in a representation sense | |||
It's why int32 comes out narrower than Int when doing the multi sort though | |||
[TuxCM] | This is Rakudo version 2017.09-404-gd56151743 built on MoarVM version 2017.09.1-594-gb9d3f6da | ||
csv-ip5xs 1.175 - 1.184 | |||
test 13.997 - 14.336 | |||
test-t 3.071 - 3.071 | |||
csv-parser 0.854 - 0.863 | |||
Zoffix | :o so close to sub-3 | 10:26 | |
[TuxCM] | how's that for a small range :) | ||
timotimo | might want to deprecate method new in native ints | ||
so that existing code will just take a performance hit at first | |||
rather than straight-up dying | |||
then kill it with fire in a later release | |||
Zoffix | timotimo: but it never worked | 10:27 | |
timotimo | it gave you an Int | ||
Zoffix | ok | ||
timotimo | it probably didn't truncate to the right size though? | ||
Zoffix | timotimo: it was the same as Int.new | 10:28 | |
timotimo | right | ||
Zoffix | m: use MONKEY; augment class Int { proto method new2(|) {*}; multi method new2(int \SELF: $) { say "here" }; multi method new2(Int \SELF: $) { say "there" } }; int32.new2(42) | ||
camelia | there | ||
Zoffix | Don't even know how to make the error better anyway :} | ||
m: use MONKEY; augment class Int { proto method new2(|) {*}; multi method new2(int32 \SELF: $) { say "here" }; multi method new2(Int \SELF: $) { SELF.^name.say; say "there" } }; int32.new2(42) | 10:30 | ||
camelia | int32 there |
||
Zoffix | k, tht works | ||
"works".... trying to figure out if it's a native by name will make it so slow, it'd be no point in using Int.new: native int (if people are even using it) | 10:33 | ||
releasable6: status | 10:34 | ||
releasable6 | Zoffix, Next release in 7 days and ≈8 hours. 1 blocker. Changelog for this release was not started yet | ||
Zoffix, Details: gist.github.com/8a5dc4a8820d6d5b16...7c56ce871f | |||
Zoffix | Gonna work on this later. | ||
timotimo | you can figure out if self.HOW is NativeHOW | ||
Zoffix | Ah, thanks. | 10:35 | |
jdv79 | Zoffix: do you sleep? | 10:39 | |
Zoffix | What do I need to look up to learn how to make stuff like we have for dalek, where it shows up as a service, like `sudo service dalek restart` ? | 10:40 | |
jdv79: robots don't sleep | |||
I wanna make a geth service | |||
on hack | |||
timotimo | yeah, that's "system file" stuff from systemd | 10:42 | |
jnthn | Zoffix: fwiw, probably the best way to do it is to make NativeHOW do MethodContainer and accounting for that in its find_method/publish_method_cache. Then we can just write "cannot make an instance of this" methods in the type object | 10:43 | |
Zoffix | ok | 10:44 | |
jnthn | A moderately easy way to earn the MOP Hacker badge :-) | 10:45 | |
Zoffix | \o/ | 10:46 | |
jnthn | (If you didn't already :)) | ||
Geth_ | geth: 5bb36864d3 | (Zoffix Znet)++ | lib/Geth/Plugin/GitHub.pm6 Handle missing chans gracefuler Any.split still got a proto for split to the "safe" call fails there and still tries to call Any.split triggering no-multi |
11:18 | |
geth: c362e66b4b | (Zoffix Znet)++ | lib/Geth/GitHub/Hooks.pm6 Update to handle latest HTTP::Server::Tiny |
11:19 | ||
geth: 5536d31b03 | (Zoffix Znet)++ | util-dev/emulate-github-event.p6 Add a dev util For simulating a GitHub push event hook arriving to our server |
|||
geth: bb70c2cde0 | (Zoffix Znet)++ | META6.json Remove bogus `test-depends` |
11:21 | ||
geth: 5615eae1f1 | (Zoffix Znet)++ | META6.json Ensure prereqs match our use |
11:25 | ||
geth: 8ca11367aa | (Zoffix Znet)++ | META6.json Use semver |
|||
Geth__ | geth: 8ca11367aa | (Zoffix Znet)++ | META6.json Use semver |
11:49 | |
specs: tbrowder++ created pull request #123: changes for Texas => ASCII |
11:55 | ||
specs: 1c979ab5a5 | (Tom Browder)++ | 2 files changes for Texas => ASCII |
|||
specs: f52230c29b | (Zoffix Znet)++ (committed using GitHub Web editor) | 2 files Merge pull request #123 from tbrowder/texas changes for Texas => ASCII |
|||
roast: 0bdfb1b157 | usev6++ | packages/Test/Util.pm Use longer timeout for doesn't-hang on JVM |
11:56 | ||
geth: 13becdb8c0 | (Zoffix Znet)++ | config.json Hang in #perl6-toolchain too |
11:58 | ||
MasterDuke | c: c3b044df169^,c3b044df169,HEAD my $a = rx/aaaaaab/; 'a' x 999999 ~ 'b' ~~ /$a/; say now - INIT now | 12:02 | |
yoleaux | 03:14Z <AlexDaniel-> MasterDuke: FWIW RT #132291 | ||
06:56Z <AlexDaniel-> MasterDuke: hey, maybe you can take a look at RT #132294 | |||
synopsebot | RT#132291 [new]: rt.perl.org/Ticket/Display.html?id=132291 [LTA] Too few positionals passed to '' (for [:a] X [:b] -> ($i, $j) { }) | ||
RT#132294 [new]: rt.perl.org/Ticket/Display.html?id=132294 [REGRESSION][PERF] INTERPOLATE-related change made matching of large strings slower | |||
committable6 | MasterDuke, ¦c3b044df169^: «3.42546156» ¦c3b044d: «5.072197» ¦HEAD(d561517): ««timed out after 10 seconds» «exit signal = SIGHUP (1)»» | 12:03 | |
MasterDuke | hm, that's unfortunate, not what my PR was supposed to do | 12:04 | |
Geth | geth: 13becdb8c0 | (Zoffix Znet)++ | config.json Hang in #perl6-toolchain too |
12:06 | |
Zoffix | .tell nine I moved geth to hack. Something was wrong with the geth box. GitHub couldn't connect and I couldn't telnet to geth port's either (said connection refused). I tried restarting geth several times and connecting using localhost to geth's listener worked, but not from outside network. So I stopped the geth service on geth box (but did not remove it entirely) and set up a geth service on hack and | 12:09 | |
yoleaux | Zoffix: I'll pass your message to nine. | ||
Zoffix | moved webhooks of all of our repo's to hack's geth. | ||
.tell nine moved webhooks of all of our repo's to hack's geth. | |||
yoleaux | Zoffix: I'll pass your message to nine. | ||
Zoffix | Can someone with keys to rakudo/star change the geth web hook to geth.niner change the URL to hack.p6c.org:8888/?chan=#perl6-dev (or give me access and I'll set it up myself) | 12:10 | |
PSA: Geth now lives on hack, in /home/geth/geth There's a service setup, so if a restart of it is needed, you'd just do `sudo service geth restart` | 12:12 | ||
jnthn | Zoffix: Given you access | 12:13 | |
Zoffix | \o/ | 12:14 | |
MasterDuke | c: c3b044df169^,c3b044df169,HEAD my $a = "aaaaaab"; 'a' x 999999 ~ 'b' ~~ /$a/; say now - INIT now | 12:33 | |
committable6 | MasterDuke, ¦c3b044df169^: «5.4635297» ¦c3b044d: «7.4579997» ¦HEAD(d561517): «4.9643206» | 12:34 | |
MasterDuke | right, that's the case my recent PR made faster | ||
goodness, the slow rx version spends 3s in the proto for Match's Bool and then another 1.5s in the multi it chose | 12:41 | ||
2999980 calls to both | 12:42 | ||
Zoffix | I'm having a hard time understanding where Perl6::Metamodel::MethodContainer fits into the picture of disabling int32.new... If I make NativeHOW do it, seems all the methods need to overridden. The method_table and submethod_table already exist in NetiveHOW without that role (they return an empty nqp::hash). | 12:44 | |
timotimo | Zoffix: then those can probably be thrown out | 12:46 | |
Zoffix | They fix a bug, I think: github.com/rakudo/rakudo/commit/9a...bc8dbe31e0 | 12:47 | |
Geth | rakudo: MasterDuke17++ created pull request #1193: Whitespace fix, convert tabs to spaces |
12:48 | |
rakudo/nom: a0279e561a | MasterDuke17++ (committed using GitHub Web editor) | src/core/Match.pm Whitespace fix, convert tabs to spaces |
12:49 | ||
rakudo/nom: 5092d6e60e | (Zoffix Znet)++ (committed using GitHub Web editor) | src/core/Match.pm Merge pull request #1193 from MasterDuke17/patch-1 Whitespace fix, convert tabs to spaces |
|||
rakudo: MasterDuke17++ created pull request #1194: Rest of tabs -> spaces in Match.pm |
12:54 | ||
rakudo/nom: 0262a997aa | MasterDuke17++ (committed using GitHub Web editor) | src/core/Match.pm Rest of tabs -> spaces in Match.pm |
12:55 | ||
rakudo/nom: 0d217357aa | (Zoffix Znet)++ (committed using GitHub Web editor) | src/core/Match.pm Merge pull request #1194 from MasterDuke17/patch-1 Rest of tabs -> spaces in Match.pm |
|||
Zoffix | greppable6, \b(int32|int|int64|int16|int8)\.new | 13:01 | |
greppable6 | Zoffix, Found nothing! | ||
Zoffix | timotimo: do we really need a deprecation for it? | ||
It's be a deprecation for a feature so rarely used that it's not used in the ecosystem and one that never worked right | |||
c: 2017.06 say int8.new: 999999999999999999999999999999999999999999999999999999999999999999999999999999999999 | 13:02 | ||
committable6 | Zoffix, ¦2017.06: «999999999999999999999999999999999999999999999999999999999999999999999999999999999999» | ||
Zoffix | Oh damn: github.com/nkh/P6-Data-Dump-Tree/b...Call.t#L45 | 13:03 | |
nqp: nqp::getstaticcode(sub ( | ) { nqp::die('Cannot instantiate native type') }) | 13:05 | ||
camelia | Unable to parse expression in routine_def; couldn't find final ')' at line 2, near "| ) { nqp:" at gen/moar/stage2/NQPHLL.nqp:707 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:panic) from gen/moar/stage2/NQPHLL.nqp:714 (/home/camelia/raku… |
||
Zoffix | any way to spec "take any args" in nqp? | ||
More of them: github.com/wentam/P6-Graffiks/blob...ra.pm6#L86 | 13:06 | ||
So no use of ints but nums quite a few :( | |||
moritz | nqp: sub f(*@a) { nqp::say(@a) }; f(1, 2) | 13:07 | |
camelia | cannot stringify this at <tmp>:1 (<ephemeral file>:f) from <tmp>:1 (<ephemeral file>:<mainline>) from gen/moar/stage2/NQPHLL.nqp:1542 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:eval) from gen/moar/stage2/NQPHLL.nqp:1779 (/home/c… |
||
moritz | nqp: sub f(*@a) { nqp::say(nqp::join(', ', @a)) }; f(1, 2) | ||
camelia | This representation (P6int) cannot unbox to a native string (for type BOOTInt) at <tmp>:1 (<ephemeral file>:f) from <tmp>:1 (<ephemeral file>:<mainline>) from gen/moar/stage2/NQPHLL.nqp:1542 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarv… |
||
moritz | nqp: sub f(*@a) { nqp::say(nqp::join(', ', @a)) }; f("a", "b") | ||
camelia | a, b | ||
Zoffix | nqp: sub f(*@a) { nqp::say(nqp::join(', ', @a)) }; f("a", "b", :foo(42)) | 13:08 | |
camelia | Unexpected named argument 'foo' passed at <tmp>:1 (<ephemeral file>:f) from <tmp>:1 (<ephemeral file>:<mainline>) from gen/moar/stage2/NQPHLL.nqp:1542 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:eval) from gen/moar/stage2/NQPHLL.n… |
||
Zoffix | nqp: sub f(*@a, *%_) { nqp::say(nqp::join(', ', @a)) }; f("a", "b", :foo(42)) | ||
camelia | a, b | ||
Zoffix | ok thanks | ||
Well, I done this and it works: gist.github.com/zoffixznet/19825d7...b33f0c3b01 | 13:13 | ||
make method_table return an nqp::hash that got a blowy method new in it (in the past it was just an empty nqp::hash) | 13:14 | ||
.in 1d irclog.perlgeek.de/perl6-dev/2017-...i_15301581 | 13:19 | ||
yoleaux | Zoffix: I'll remind you on 15 Oct 2017 13:19Z | ||
Zoffix | I've no idea how to do deprecation from there | 13:21 | |
from NativeHow | |||
What does getstaticcode do? Like what's a "static code"? | 13:22 | ||
moritz | when you have a closure, you have a pointer to a thing that holds the captured lexpad and the "actual" code | 13:24 | |
that's what "static code" - code reference that's not a closure | |||
Zoffix | Ah | 13:25 | |
m: use nqp; say nqp::getlexdyn('&DEPRECATED') | 13:31 | ||
camelia | (signal SEGV) | ||
Zoffix | :) | ||
Filed as rt.perl.org/Ticket/Display.html?id=132300 | 13:33 | ||
MasterDuke | what causes lots of time spent in a proto? in my experiments with INTERPOLATE, it was because the find_best_dispatchee wasn't able to cache the right method. but in the profile i'm looking at now, find_best_dispatchee doesn't even appear | 13:39 | |
github.com/rakudo/rakudo/blob/nom/...#L772-L774 the proto on line 772, and it always calls the multi on line 774 | 13:44 | ||
buggable | New CPAN upload: Config-Parser-toml-1.0.1.tar.gz by TYIL cpan.metacpan.org/authors/id/T/TY/...0.1.tar.gz | 13:50 | |
New CPAN upload: Config-Parser-yaml-1.0.1.tar.gz by TYIL cpan.metacpan.org/authors/id/T/TY/...0.1.tar.gz | |||
Zoffix | Weird. `DEPRECATED "foo"; DEPRECATED "bar"` just shows 1 deprecation :/ | 14:14 | |
Is it possible to add some sort of annotations to a method? Roughly thinking about how Cool methods that pass captures could be fixed up to be faster and I thought maybe we could stick some annotation to the relevant methods in Cool and then the optimizer could just rewrite the calls to Cool.meow(<some args>) to Cool.Stringy.meow(<some args>) | 14:29 | ||
Geth | rakudo/nom: 9d9c7f9c3b | (Zoffix Znet)++ | src/Perl6/Metamodel/NativeHOW.nqp Deprecate .new on native types - For now, just maintain old behaviour of returning a boxed version - After 2017.12, toss the deprecation and make the methods die - Fixes RT#132293: rt.perl.org/Ticket/Display.html?id=132293 |
14:43 | |
synopsebot | RT#132293 [open]: rt.perl.org/Ticket/Display.html?id=132293 [REGRESSION] It is no longer possible to create native ints with .new (int32.new(42)) | ||
Geth | rakudo/nom: cc6c05586b | (Zoffix Znet)++ | t/05-messages/01-errors.t Test behaviour of .new on native types RT#132293: rt.perl.org/Ticket/Display.html?id=132293 Rakudo fix: github.com/rakudo/rakudo/commit/9d9c7f9c3b |
14:44 | |
Zoffix | .in 70d take care of tossing deprecation in github.com/rakudo/rakudo/commit/9d9c7f9c3b and github.com/rakudo/rakudo/commit/cc6c05586b , bruh | 14:49 | |
yoleaux | Zoffix: I'll remind you on 23 Dec 2017 14:49Z | ||
Geth | roast: 4043a63b60 | (Zoffix Znet)++ | packages/Test/Util.pm Revert "Use longer timeout for doesn't-hang on JVM" This reverts commit 0bdfb1b157b5286480d8355cf62ce1a76fd445ea. Will rewrite a better version in next commit |
15:18 | |
roast: bdf8904da6 | (Zoffix Znet)++ | 2 files Rescale ROAST_TIMING_SCALE for JVM 'cause it takes longer to fire up procs |
|||
Zoffix | (this version will scale doesn't-hangs with custom wait times too; not just the default times) | 15:19 | |
I think the most annoying thing about "ANNOYING" ticket tags is the tag, not the bug the ticket describes | 15:22 | ||
Like wtf is RT#132012 an "annoying" ticket? | 15:23 | ||
synopsebot | RT#132012 [new]: rt.perl.org/Ticket/Display.html?id=132012 [ANNOYING] Numeric values of signals are wrong (say +SIGUSR1) | ||
Zoffix | .tell AlexDaniel [ANNOYING] ticket tag is annoying | ||
yoleaux | Zoffix: I'll pass your message to AlexDaniel. | ||
Zoffix | "Show message only if value has method .base" "if $.num.perl.^can('base')" why yes, .perl it first :P | 15:49 | |
ZofBot: good job! | |||
ZofBot | Zoffix, weigh my friend's affection with mine own | ||
dogbert17 | ZOFFLOP t/spec/S02-types/baghash.t | 16:07 | |
'Cannot unbox 64 bit wide bigint into native integer' | 16:08 | ||
Zoffix | dogbert17: is it actually a flop? | 16:12 | |
As in, are you sure it fails only some times and not all the time? | |||
Also, do you have latest and greatest rakudo? | 16:13 | ||
And if yes, what's the full output | |||
Geth | rakudo/nom: 441fc9b32b | (Zoffix Znet)++ | t/05-messages/01-errors.t Do not add more stuff into 01-errors.t It takes forever to run and there's no reason we can't split it up into multiple files. |
16:14 | |
rakudo/nom: de2b9ff720 | (Zoffix Znet)++ | 2 files Remove unwanted .perl call Fixes RT#132295: rt.perl.org/Ticket/Display.html?id=132295 |
16:28 | ||
synopsebot | RT#132295 [new]: rt.perl.org/Ticket/Display.html?id=132295 [REGRESSION][LTA] :2(…) radix syntax no longer suggests using .base (:2(42)) | ||
ugexe | m: package Foo { our &foo := -> $a { say $a }; }; Foo::foo(1); # should this work? if not, does it differ from (the working) `our sub ...`? | 16:38 | |
camelia | Cannot invoke this object (REPR: Uninstantiable; Callable) in block <unit> at <tmp> line 1 |
||
Zoffix | Seems to work if you don't use binding: | 16:40 | |
m: package Foo { our &foo = -> $a { say $a }; }; Foo::foo(1); | |||
camelia | 1 | ||
Zoffix | No idea if it should work with it as well | ||
Geth | rakudo: MasterDuke17++ created pull request #1195: Optimize Regex multi for INTERPOLATE |
16:41 | |
ugexe | cool | ||
timotimo | i thought "zofflop" is just "flops on zoffix' system", did dogbert root zoffix' box? :) | 16:47 | |
Zoffix | no, zofflop is "flop" with a prefix that makes it easier to search for in the log | 16:48 | |
This looks bogus: github.com/rakudo/rakudo/commit/ec...bce05122f9 | |||
m: my $x = "abc"; $x ~~ tr|abc|{$/.uc}|; say $x | 16:51 | ||
camelia | {$/ | ||
Zoffix | Just gonna toss all the $/ fumbling in Str.trans and see if any tests explode | ||
(it's also not done for Cool.trans, which is how I noticed it) | |||
travis-ci | Rakudo build failed. Zoffix Znet 'Do not add more stuff into 01-errors.t | 17:01 | |
travis-ci.org/rakudo/rakudo/builds/287962876 github.com/rakudo/rakudo/compare/c...1fc9b32b70 | |||
buggable | [travis build above] ☠ Did not recognize some failures. Check results manually. | ||
Zoffix | why do travis reports now have these slanted lines across them :? | 17:03 | |
One Linux job segfaulted during make Segmentation fault (core dumped) | |||
Tossing everything makes this test fail: | 17:06 | ||
m: say '"foo & bar"'.trans(/(' '+)/ => {' ' ~ (' ' x ($0.chars - 1))}, /(\W)/ => {"&#{ord($0)};"}) | |||
camelia | "foo & bar" | ||
Zoffix | m: say '"foo & bar"'.trans(/(' '+)/ => {' ' ~ (' ' x ($0.chars - 1))}, /(\W)/ => {"&#{ord($0)};"}); say $/ | 17:07 | |
camelia | "foo & bar" Nil |
||
Zoffix | But then, I still don't get why it's grabbing caller's $/ | ||
Gonna just file it for now | |||
Filed as rt.perl.org/Ticket/Display.html?id=132302 | 17:15 | ||
Geth | roast: c4f9ac0bbd | usev6++ | 8 files [jvm] Skip hanging tests |
17:20 | |
rakudo/nom: c1e5cfcfa5 | usev6++ | t/spectest.data [jvm] Don't run files when all tests are hanging |
17:22 | ||
Zoffix | I don't get how this works at all. It's missing a decont: github.com/rakudo/rakudo/blob/nom/...tr.pm#L150 | 17:37 | |
m: use nqp; class Foo { method x ($suffix) { say nqp::getattr($suffix,Str,'$!value') } }.x: "x" | |||
camelia | P6opaque: no such attribute '$!value' in type Str when trying to get a value in method x at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Zoffix | m: my $x = "x"; say "x".ends-with: $x | ||
camelia | True | ||
Zoffix | yet it doesn't explode. Huh? | ||
MasterDuke | and nothing changes if you add the decont? | 17:39 | |
Zoffix | Changes how? | ||
It's now behaving as if the decont was already there | 17:40 | ||
MasterDuke | .ends-with still produces the same results? | ||
Zoffix | Haven't tried. I'd expect it to. Don't really wanna pay the compilation price | 17:41 | |
dogbert17 | Zoffix: it's not a flapper, it fails every time, I suspect it's 32 bit related, it's the very last test which causes the problem | ||
t/spec/S02-types/baghash.rakudo.moar (Wstat: 65280 Tests: 292 Failed: 0) | |||
Non-zero exit status: 255 | |||
Parse errors: Bad plan. You planned 293 tests but ran 292. | |||
Zoffix | m: use nqp; class Foo { method x (Str:D $suffix) { say nqp::p6bool(nqp::getattr($suffix,Str,'$!value')) } }.x: "x" | ||
camelia | True | ||
Zoffix | m: use nqp; class Foo { method x (Str $suffix) { say nqp::p6bool(nqp::getattr($suffix,Str,'$!value')) } }.x: "x" | ||
camelia | True | ||
Zoffix | m: use nqp; class Foo { method x (Str:D $suffix) { say nqp::p6bool(nqp::getattr($suffix,Str,'$!value')) } }.x: "x" | ||
camelia | True | ||
Zoffix | k, looks like Str type constraint does some sort of decont voodoo | 17:42 | |
dogbert17 | m: use Test; is-deeply ("foo" => 10000000000000000000).BagHash.grab(1), ("foo",),"can .grab() a BagHash key with weight larger than 64 bits" | ||
camelia | ok 1 - can .grab() a BagHash key with weight larger than 64 bits | ||
Zoffix | oh wait | ||
Yeah | |||
m: use nqp; class Foo { method x ($suffix) { say nqp::p6bool(nqp::getattr($suffix,Str,'$!value')) } }.x: "x" | |||
camelia | P6opaque: no such attribute '$!value' in type Str when trying to get a value in method x at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
dogbert17 | this fails for me with | ||
Cannot unbox 64 bit wide bigint into native integer | |||
in sub _is_deeply at /home/dogbert/repos/rakudo/install/share/perl6/sources/C712FE6969F786C9380D643DF17E85D06868219E (Test) line 652 | |||
in sub is-deeply at /home/dogbert/repos/rakudo/install/share/perl6/sources/C712FE6969F786C9380D643DF17E85D06868219E (Test) line 598 | |||
Zoffix | dogbert17: well, is your rakudo a HEAD? It was fixed recently | ||
dogbert17 | 2017.09-410-gcc6c05586 | 17:43 | |
Zoffix | m: say $PERL.compiler.version | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '$PERL' is not declared. Did you mean 'Perl'? at <tmp>:1 ------> 3say 7⏏5$PERL.compiler.version |
||
Zoffix | m: say $*PERL.compiler.version | ||
camelia | v2017.09.413.gc.1.e.5.cfcfa | ||
Zoffix | dogbert17: and that's on 32-bit box? | ||
dogbert17 | yes | ||
dogbert17 pull latest Rakudo | |||
Zoffix | 410 would have had the fix already | ||
dogbert17: you could reopen the ticket and say it still fails on 32-bit: rt.perl.org/Ticket/Display.html?id=132279 | 17:44 | ||
dogbert17 parsing ... | |||
Zoffix | and include --ll-exception of perl6 -e '("foo" => 10000000000000000000).BagHash.grab(1)' | 17:45 | |
dogbert17 | false alarm, it works with Rakudo head. Sorry for the noise | 17:49 | |
Zoffix | oh, *phew* | 17:50 | |
What do the cool kids use to measure something too close to noise? Like which one's faster: method x($x) { $x.uc } or method x(\x) { x.uc } | 17:54 | ||
MasterDuke | callgrind will give you the actual instruction count | ||
Zoffix | I get from 4.6x faster to 2x slower with Benchy -_- | ||
sudo aptitude search callgrind... nothing found | 17:55 | ||
MasterDuke | it's part of valgrind | ||
valgrind --tool=callgrind <...> | |||
Zoffix | ok | ||
MasterDuke | and then kcachgrind is a nice viewer for the results if you want more than just the instruction count | 17:56 | |
Zoffix | doesn't seem to print anything for me. Creates an empty file :/ | ||
dogbert17 | how did you run it? | 17:57 | |
Zoffix | dogbert17: valgrind --tool=callgrind ./perl6 foo.p6 | 17:58 | |
MasterDuke | oh, you might need to call the moar executable directly, not the perl6 shell script | ||
Zoffix | Oh | ||
sounds hard | |||
Zoffix puts it on the back burner for now | |||
MasterDuke | eh, i just cat perl6 and copy it onto the command line | 17:59 | |
dogbert17 | make a copy of perl6-valgrind-m and stick in the '--tool=callgrind' there | ||
MasterDuke | and i also have some bash aliases that do that for me | ||
Zoffix | ok | ||
yoleaux | Zoffix: see if nqp::eqaddr deconting stuff needs to be done anywhere in core | 18:00 | |
Zoffix | MVM_VALGRIND_OPTS=--tool=callgrind ./perl6-valgrind-m foo.p6 works too | ||
yoleaux: meh | |||
MasterDuke | heh, good timing past Zoffix | ||
dogbert17 | Zoffix: I guess you know that the generated files are, in essence, unreadable. KCachegrind, like MasterDuke wrote or callgrind_annotate if you want to stay in the shell | 18:04 | |
Zoffix | I opened cachegrind, but I don't know what to look for. The numbers fluctuate on each run of the script | 18:05 | |
There are 19 fewer `optimize_decont` calls and that's all I can interpret. I guess you need to know what to look for | 18:07 | ||
dogbert17 | I belive that the recommended cmdline should be something like 'MVM_SPESH_BLOCKING=1 valgrind --tool=callgrind ./perl6 foo.p6' the fluctuations might go down | ||
yoleaux | Zoffix: fix (my @a is default(42) = <a b c>)[1]:delete; @a.Slip.List.say, bruh | ||
Zoffix | yoleaux: dude, leave me be :( | 18:08 | |
dogbert17 | correction 'MVM_SPESH_BLOCKING=1 MVM_VALGRIND_OPTS=--tool=callgrind ./perl6-valgrind-m foo.p6' | ||
Zoffix | I need a better reminder bot | 18:09 | |
I was gonna write all the tests today... Still haven't started :/ | 18:11 | ||
Geth | rakudo/nom: 04b171bd12 | (Daniel Green)++ | src/core/Match.pm Optimize Regex multi for INTERPOLATE Move some code into a conditional and don't allocate some variables if not needed. |
||
rakudo/nom: 0bd2b27df5 | (Aleks-Daniel Jakimenko-Aleksejev)++ (committed using GitHub Web editor) | src/core/Match.pm Merge pull request #1195 from MasterDuke17/optimize_Regex_multi_for_INTERPOLATE Optimize Regex multi for INTERPOLATE |
|||
Zoffix | dogbert17: still fluctuating enough to wash the difference | 18:13 | |
dogbert17 | :( | ||
Zoffix | Maybe there ain't any. Just gonna leave it./ | ||
AlexDaniel- | . | 18:20 | |
AlexDaniel | . | ||
yoleaux | 15:23Z <Zoffix> AlexDaniel: [ANNOYING] ticket tag is annoying | ||
AlexDaniel- | Zoffix: RT #132012 is annoying for the same reason described in rt.perl.org/Ticket/Display.html?id...xn-1496218 | 18:21 | |
synopsebot | RT#132012 [open]: rt.perl.org/Ticket/Display.html?id=132012 [ANNOYING] Numeric values of signals are wrong (say +SIGUSR1) | ||
AlexDaniel- | some signals have correct values and you don't notice it right away, and there's practically no workaround | ||
ok you can hardcode the values for a particular system, but uhhh… | |||
that's an annoying workaround :) | 18:22 | ||
Zoffix | Seems a pointless tag and it certainly makes me want to fix those less. | ||
" | 18:23 | ||
"» is no longer shuffled (<a b c d>».say)" why is this annoying? | |||
This tag is nonsense | |||
AlexDaniel- | because we keep explaining to people “hey actually it doesn't work and it just happens that these are returned in the same order right now” | 18:24 | |
timotimo | Zoffix: if you want less noisy results from callgrind, set the spesh blocking env var | 18:25 | |
AlexDaniel- | the tag differentiates painful issues with other bugs that are mostly unnoticeable (or, when noticed, are easily workaroundable) | ||
MasterDuke | i think you could replace annoying with lta | 18:26 | |
AlexDaniel- | it's other way round | ||
LTA = it's ok but could be better | |||
Zoffix | timotimo: I did. Still too noisy | 18:27 | |
AlexDaniel- | ANNOYING = something that keeps getting in your way and makes rakudo look like garbage | ||
timotimo | damn | ||
Zoffix | AlexDaniel-: the tag differentiates issues I'll personally gonna be avoiding. It's like a bug reporter who's shouting at how pissed off they are about a bug. You just phase them out and go fix something nicer. | 18:28 | |
AlexDaniel- | Zoffix: I'm sorry that it makes you feel that way | ||
Zoffix: maybe if you suggest some other name for that purpose, I can retag those | 18:29 | ||
Zoffix | AlexDaniel-: anything that doesn't require you to explain why we're using such a tag. So far you had to explain "ANNOYING" to at least two people. | 18:32 | |
AlexDaniel- | it's ok for a new tag | ||
I had to explain what a REGRESSION is a couple of times also… | |||
and it's ok for people to ask why some particular issue is annoying (maybe they don't see the actual issue, it's ok to ask for clarification) | 18:33 | ||
MasterDuke | m: class A { method x($x) { $x.uc } }; my $a; $a = A.x("aBc") for ^10_000_000; say $a; say now - INIT now | 18:36 | |
camelia | ABC 5.4048479 |
||
MasterDuke | m: class A { method x(\x) { x.uc } }; my $a; $a = A.x("aBc") for ^10_000_000; say $a; say now - INIT now | ||
camelia | ABC 3.85693285 |
||
MasterDuke | Zoffix: ^^^ doesn't look like noise? or was that not what you were actually testing? | 18:37 | |
Zoffix | MasterDuke: you just ran it twice though. | 18:39 | |
MasterDuke | timotimo: do you know anything about protos? | ||
Zoffix | m: class A { method x(\x) { x.uc } }; my $a; $a = A.x("aBc") for ^10_000_000; say $a; say now - INIT now | ||
camelia | ABC 3.40128488 |
||
Zoffix | m: class A { method x(\x) { x.uc } }; my $a; $a = A.x("aBc") for ^10_000_000; say $a; say now - INIT now | ||
camelia | ABC 3.7919970 |
||
Zoffix | m: class A { method x($x) { $x.uc } }; my $a; $a = A.x("aBc") for ^10_000_000; say $a; say now - INIT now | ||
MasterDuke | i ran it a bunch of times locally | ||
Zoffix | m: class A { method x($x) { $x.uc } }; my $a; $a = A.x("aBc") for ^10_000_000; say $a; say now - INIT now | ||
camelia | ABC 5.3459838 |
||
ABC 5.359951 |
|||
Zoffix | MasterDuke: ah. I ran them both in one program, so I guess that's what wiped the difference in Benchy | ||
ok | 18:40 | ||
MasterDuke | huh, wouldn't have expected that to matter | ||
Zoffix | well, GC is involved no? | 18:41 | |
MasterDuke | right, that could effect things | 18:42 | |
Zoffix | Weird, this script consistently shows 2017.09-173-g4d0ead2 to be 1-15ms seconds faster than HEAD gist.github.com/zoffixznet/988071e...ef0bc88db7 | ||
Running as ./perl6 bar.p6 -e '42.starts-with: "x" for ^100_00; say now - INIT now' | 18:43 | ||
bar.p6 being the script and ./perl6 being head | |||
MasterDuke | benchable6: 4d0ead2,HEAD 42.starts-with: "x" for ^100_000 | 18:44 | |
benchable6 | MasterDuke, starting to benchmark the 2 given commits | ||
MasterDuke, benchmarked the given commits, now zooming in on performance differences | 18:45 | ||
MasterDuke, ¦4d0ead2: «1.0593» ¦HEAD: «1.1259» | |||
MasterDuke | benchable6: 4d0ead2,HEAD 42.starts-with: "x" for ^500_000 | 18:46 | |
benchable6 | MasterDuke, starting to benchmark the 2 given commits | ||
MasterDuke, benchmarked the given commits, now zooming in on performance differences | 18:47 | ||
MasterDuke, ¦4d0ead2: «4.7527» ¦HEAD: «4.8870» | |||
Zoffix | ZOFFLOP: t/spec/S17-procasync/kill.t | 18:58 | |
Geth | rakudo/nom: 1275fd4ab7 | (Zoffix Znet)++ | 2 files Make Cool.[starts|ends]-with 12x faster Part of fixing RT#132280: rt.perl.org/Ticket/Display.html?id=132280 |
18:59 | |
synopsebot | RT#132280 [new]: rt.perl.org/Ticket/Display.html?id=132280 [REGRESSION][PERF] Cool methods that take and pass a Capture are uber slower (.contains: 'meow' for ^10000_00) | ||
Zoffix | Gonna do rest of 'em later today. | ||
MasterDuke | nice | 19:00 | |
Zoffix | Not really, 'cause many of these is just gaining back speed lost earlier in 2017. But we might break the 3s test-t barrier, 'cause I think I recall it getting slower when these methods were fixed to be captures, but I didn't know why it'd get slow | 19:01 | |
travis-ci | Rakudo build passed. usev6 '[jvm] Don't run files when all tests are hanging' | 19:14 | |
travis-ci.org/rakudo/rakudo/builds/287979127 github.com/rakudo/rakudo/compare/d...e5cfcfa595 | |||
Rakudo build errored. Zoffix Znet 'Merge pull request #1194 from MasterDuke17/patch-1 | 19:41 | ||
travis-ci.org/rakudo/rakudo/builds/287916515 github.com/rakudo/rakudo/compare/5...217357aa80 | |||
buggable | [travis build above] ✓ All failures are due to: missing build log (1 failure). | ||
timotimo | MasterDuke: not much; what's up? | 19:43 | |
haha. "not much" is also the common answer to "what's up?" | 19:54 | ||
i was going to ask how to best turn "while $data-which-is-a-Channel.receive -> $blop { }" into something that uses await to free up the thread in question ... then i remembered we have "react whenever", which ought to be better | 19:55 | ||
oh wow, that's quite the performance hit | 20:02 | ||
1_500_000 messages with a while try receive gives me 8.95s user, 6.15s elapsed; using react whenever gives me 10s user, 5.88s user, but for only 50_000 messages | 20:05 | ||
30x difference ;( | |||
Zoffix | :o | 20:06 | |
AlexDaniel-: whatdyumean reject RT#131515? If that's the right commit, then it should be optimized. The assumtion in the commit is we can be expensive because it won't impact anything, but if it is the right commit, then the assumption is wrong | 20:09 | ||
synopsebot | RT#131515 [open]: rt.perl.org/Ticket/Display.html?id=131515 [BISECTME][PERF] Performance loss in some commits | ||
AlexDaniel- | Zoffix: I was thinking that it only impacts the spectest and normal users will never notice it otherwise… now that you said it, I realize it may impact module tests and anything else that tests exceptions | 20:11 | |
Zoffix: so you're right | |||
timotimo | *sigh*, i'm glad someone is going to make profiler work with multithreade programs ... | ||
Zoffix | AlexDaniel-: ah, never mind, it's in .message which has since been optimized away to being called only when actually needed, so I'll close the ticket | 20:12 | |
AlexDaniel-: well, bisect it and if it is the commit, then reject it | |||
AlexDaniel- | Zoffix: oh! OK | ||
I'll do it right now if it's that simple | 20:13 | ||
timotimo | adding --profile to this program gives me "inconsistent bind result" m( | ||
Zoffix | c: 2500e50,2500e50^,HEAD for ^1000 { try "foo".meow } | 20:14 | |
committable6 | Zoffix, ¦2500e50: ««timed out after 10 seconds» «exit signal = SIGHUP (1)»» ¦2500e50^,HEAD(1275fd4): «» | ||
AlexDaniel- | right | ||
Zoffix | c: 2500e50,2500e50^,HEAD for ^100 { try "foo".meow }; say "done" | ||
committable6 | Zoffix, ¦2500e50: ««timed out after 10 seconds» «exit signal = SIGHUP (1)»» ¦2500e50^,HEAD(1275fd4): «done» | ||
Zoffix | c: 2500e50,2500e50^,HEAD for ^10 { try "foo".meow }; say "done" | 20:15 | |
committable6 | Zoffix, ¦2500e50,2500e50^,HEAD(1275fd4): «done» | ||
Zoffix | c: 2500e50,2500e50^,HEAD for ^10 { try "foo".meow }; say now - INIT now | ||
committable6 | Zoffix, ¦2500e50: «3.46179999» ¦2500e50^: «0.00295601» ¦HEAD(1275fd4): «0.0024989» | ||
Zoffix rejects | |||
AlexDaniel- | OK | ||
or maybe resolve instead? | |||
it *is* resolved after all | 20:16 | ||
Zoffix | right | ||
Done. | |||
AlexDaniel- | yay | ||
Geth | rakudo/nom: a7b0449375 | usev6++ | src/vm/jvm/runtime/org/perl6/rakudo/RakudoContainerSpec.java [jvm] Move handling of Nil back to 'store' |
20:29 | |
Zoffix | ZOFVM: Files=1278, Tests=152667, 151 wallclock secs (21.59 usr 3.47 sys + 3259.22 cusr 180.73 csys = 3465.01 CPU) | 20:34 | |
Geth | rakudo/nom: 530e129461 | (Zoffix Znet)++ | 2 files Make Cool.contains 11.5x faster Part of fixing RT#132280: rt.perl.org/Ticket/Display.html?id=132280 |
20:36 | |
synopsebot | RT#132280 [new]: rt.perl.org/Ticket/Display.html?id=132280 [REGRESSION][PERF] Cool methods that take and pass a Capture are uber slower (.contains: 'meow' for ^10000_00) | ||
Geth | roast: 611988f01f | usev6++ | S02-types/mix.t [jvm] Skip test that blows up whole test file |
20:44 | |
Zoffix | weird.. Patched Cool.split and `42.split: "x" for ^1000_00` now got 2.7x faster, but `42.split: /\d/ for ^1000_0` saw no change whatsoever :S | 20:54 | |
Oh, prolly 'cause it's so damn slow, the dispatch is drowned | 20:55 | ||
timotimo | i'd assume so | 20:56 | |
Geth | rakudo/nom: 785d2f251d | (Zoffix Znet)++ | 2 files Make Cool.split 0x-2.7x faster Split with Str matcher is 2.7x faster, but looks like Regex matcher is just so slow that dispatch improvement is drowned so there's no noticalbe improvement there. Part of fixing RT#132280: rt.perl.org/Ticket/Display.html?id=132280 |
||
synopsebot | RT#132280 [new]: rt.perl.org/Ticket/Display.html?id=132280 [REGRESSION][PERF] Cool methods that take and pass a Capture are uber slower (.contains: 'meow' for ^10000_00) | ||
rakudo/nom: 43e7b893b1 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Iterator.pm Fix for RT #132288 Make sure we check in HLL before committing to the natives. |
21:14 | ||
synopsebot | RT#132288 [new]: rt.perl.org/Ticket/Display.html?id=132288 [REGRESSION][9999] .tail with large negative arguments (say (4,5,6).tail(-9999999999999999999)) | ||
Geth | rakudo/nom: d79ac9704d | (Zoffix Znet)++ | 2 files Revert fixes to Cool methods with captures Do not sweet the problem under the rug and instead fix slippy method caching |
||
Zoffix | *sweep | 21:18 | |
Geth | rakudo/nom: b6982e6892 | (Elizabeth Mattijsen)++ | src/core/traits.pm Streamline Routine traits - give name to role for better gisting - make sure we only mixin if a trueish value was specified - traits affected: - is hidden-from -backtrace - is hidden-from-USAGE ... (7 more lines) |
22:04 | |
AlexDaniel- | samcv: hello? :) | 22:11 | |
samcv: nevermind! | 22:12 | ||
samcv | hi! | ||
AlexDaniel- | samcv: actually I have two questions | 22:15 | |
samcv | go ahead | ||
AlexDaniel- | I feel like I'm bothering you too much though | ||
anyway | |||
samcv | i am at your disposal | ||
not at all | |||
i enjoy sharing my knowledge | |||
AlexDaniel- | c: releases "a".uniprop('Numeric').say | ||
what is “Numeric” property? What does it stand for? | |||
committable6 | AlexDaniel-, ¦2015.12,2016.01.1,2016.02,2016.03,2016.04,2016.05,2016.06,2016.07.1,2016.08.1,2016.09,2017.09,HEAD(b6982e6): «Lower» ¦2016.10,2016.11,2016.12,2017.02,2017.03,2017.04.3,2017.05,2017.06,2017.07,2017.08: «ALetter» ¦2017.01: «None» | ||
AlexDaniel- | it's not the same as Numeric_Type | 22:16 | |
I guess? | |||
samcv | ah | 22:17 | |
AlexDaniel- | and second question: is there some indexed documentation for unicode properties so that I can add a link to every row here: gist.github.com/Whateverable/4f40f...8cd62d663d | ||
(and also so that I don't have to ask the first question ever again :) ) | 22:18 | ||
samcv | numeric just means it has a numeric type | ||
so numeric_type != "None" | 22:19 | ||
AlexDaniel- | ok, but what is “Lower”? | ||
Geth | rakudo/nom: bb1df2cb0c | (Elizabeth Mattijsen)++ | 3 files Streamline "is pure" trait handling - rename role's method to "is-pure", to be consistent with other traits - don't bother calling the method: the existence is the flag |
||
samcv | well Numeric is not really an official property. and i don't know when that happened but it should be Numeric_Type != None | 22:20 | |
AlexDaniel- | want me to submit it as a ticket? | ||
samcv | hold on let me check something | ||
well it seems to be doing MVM_UNICODE_PROPERTY_SENTENCE_BREAK when you ask for Numeric | 22:21 | ||
so yeah make a ticket i guess | |||
if numeric should be a property that is up to perl 6 i guess | 22:23 | ||
ah i know what's going on | |||
Sentence Break has a Numeric property value | |||
i'm guessing | |||
so anyway it's just an artifect of us looking up property values and not just property names | 22:24 | ||
AlexDaniel- | buggable: tags | 22:26 | |
buggable | AlexDaniel-, Total: 1631; 6.D: 2; 9999: 11; @LARRY: 27; ANNOYING: 8; BOOTSTRAP: 4; BUG: 592; BUILD: 12; CONC: 45; DOCS: 1; EXOTICTEST: 3; FLAP: 1; GLR: 3; IO: 20; JVM: 48; LHF: 7; LTA: 176; MATH: 5; META: 2; MOAR: 1; MOLD: 233; NATIVECALL: 21; NYI: 57; OO: 13; OPTIMIZER: 8; OSX: 2; PARSER: 5; PERF: 26; POD: 19; PRECOMP: 15; REGEX: 46; REGRESSION: | ||
AlexDaniel-, 39; REPL: 6; RFC: 61; RT: 2; SECURITY: 2; SEGV: 28; SINK: 1; SITE: 1; SPESH: 1; STAR: 7; TESTCOMMITTED: 12; TESTNEEDED: 38; TODO: 13; UNI: 26; UNTAGGED: 282; WEIRD: 2; WINDOWS: 4; See fail.rakudo.party/ for details | |||
AlexDaniel- | samcv: RT #132305 | 22:29 | |
synopsebot | RT#132305 [new]: rt.perl.org/Ticket/Display.html?id=132305 [UNI] In some cases ‘Numeric’ uniprop returns “Lower” but it should be “None” instead (say ‘a’.uniprop(‘Numeric’)) | 22:30 | |
AlexDaniel- | c: 2016.06,HEAD my @a = ^50; my $a = now; for ^100_000 { my $b = Junction.new("all",@a) }; say now - $a; $a = now; for ^100_000 { Junction.new("all",@a) }; say now - $a | 22:53 | |
committable6 | AlexDaniel-, ¦2016.06: «0.182587880.160125» ¦HEAD(bb1df2c): «0.07613810.4081705» | ||
AlexDaniel- | c: 2016.06,HEAD my @a = ^50; my $a = now; for ^100_000 { Junction.new("all",@a) }; say now - $a | 22:54 | |
committable6 | AlexDaniel-, ¦2016.06: «0.2100153» ¦HEAD(bb1df2c): «0.37509849» | ||
AlexDaniel- | c: 2016.06,HEAD my @a = ^50; my $a = now; for ^1000_000 { Junction.new("all",@a) }; say now - $a | ||
committable6 | AlexDaniel-, ¦2016.06: «1.53712789» ¦HEAD(bb1df2c): «3.37815925» | ||
AlexDaniel- | bisect: old=2016.06 my @a = ^50; my $a = now; for ^1000_000 { Junction.new("all",@a) }; say (now - $a) > 2 | 22:55 | |
bisectable6 | AlexDaniel-, Bisecting by output (old=2016.06 new=bb1df2c) because on both starting points the exit code is 0 | ||
AlexDaniel-, bisect log: gist.github.com/eb832cc5450405ae96...094a0535cb | 22:56 | ||
AlexDaniel-, (2016-08-11) github.com/rakudo/rakudo/commit/97...e6ff5f620a | |||
AlexDaniel- | c: 977797fa40^,977797fa40 my @a = ^50; my $a = now; for ^1000_000 { Junction.new("all",@a) }; say now - $a | 22:57 | |
committable6 | AlexDaniel-, ¦977797fa40^: «1.67519507» ¦977797f: ««timed out after 10 seconds» «exit signal = SIGHUP (1)»» | ||
AlexDaniel- moves to #whateverable | |||
I'm really not sure what to make out of it | 23:08 | ||
c: 2016.06,HEAD my @a = ^50; my $a = now; for ^1000_000 { @a.all }; say now - $a | 23:09 | ||
committable6 | AlexDaniel-, ¦2016.06: «1.7508351» ¦HEAD(bb1df2c): «4.41190691» | ||
AlexDaniel- | c: 2016.06,HEAD my @a = ^50; my $a = now; for ^1000_000 { $ = @a.all }; say now - $a | ||
committable6 | AlexDaniel-, ¦2016.06: «1.7970691» ¦HEAD(bb1df2c): «0.8887317» | ||
AlexDaniel- | so sinking a junction is now slower, but not sinking it is faster | ||
why would somebody sink a junction, right? | |||
AlexDaniel- shrugs | 23:10 | ||
timotimo | use the coverage functionality on all regressable snippets :3 | 23:11 | |
buggable | New CPAN upload: App-Bob-0.2.2.tar.gz by TYIL cpan.metacpan.org/authors/id/T/TY/...2.2.tar.gz | 23:20 | |
New CPAN upload: Hash-Merge-0.1.1.tar.gz by TYIL cpan.metacpan.org/authors/id/T/TY/...1.1.tar.gz | |||
New CPAN upload: IRC-Client-Plugin-Github-0.1.4.tar.gz by TYIL cpan.metacpan.org/authors/id/T/TY/...1.4.tar.gz | |||
New CPAN upload: MPD-Client-0.1.3.tar.gz by TYIL cpan.metacpan.org/authors/id/T/TY/...1.3.tar.gz | |||
MasterDuke | timotimo: was just hoping you know something about why this `my $a = rx/aaaaaab/; 'a' x 999999 ~ 'b' ~~ /$a/` spends a couple seconds in Match.pm's Bool proto | 23:26 | |
after my recent commit that created a Regex multi for INTERPOLATE | 23:28 |