»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
uzl .tell jmerelo Someone should post a link to the survey on /r/perl6 as a sticky post. It might add that extra bit of participation. 01:08
yoleaux uzl: I'll pass your message to jmerelo.
Xliff Does nqp do classes? 01:31
tbrowder xliff: yes 01:51
Xliff tbrowder: I take it you'd have to invoke methods using an nqp op? 01:54
tbrowder look in repo perl6/nqp/examples/use-classes.nqp for an example
invoking class methods looks like p6 unless you're doing something weird in the signature. 01:58
of course the method has nqpisms, say($s) vs say $s 01:59
sorry, haven't visited nqp for a while. invocation only one way afaik, see the example. class.method(sig) 02:04
Xliff Thanks! 02:18
Xliff \o 04:05
Is there a way to access the Attribute type from a $! or a $. value in a class?
m: class A { has $.a; has $.b }; A.new.a.^methods.say 04:06
evalable6 (Method+{is-nodal}.new Method+{is-nodal}.new Method+{is-nodal}.new cache Method+{is-nodal}…
Xliff, Full output: gist.github.com/93532fc3356664dbfc...092af82c5b
Xliff m: class A { has $.a; has $.b }; A.new.a.ATTRIBUTE.say 04:07
evalable6 (exit code 1) No such method 'ATTRIBUTE' for invocant of type 'Any'
in block <unit> at /tmp/EKCRMec8BF line 1
Xliff m: class A { has $.a; has $.b }; A.new.a.^attribute.gist.say 04:56
evalable6 (exit code 1) No such method 'attribute' for invocant of type 'Perl6::Metamodel::ClassHOW'. Did you mean 'attributes'?
in block <unit> at /tmp/nIDtFrWknV line 1
Xliff m: class A { has $.a; has $.b }; A.new.a.^attributes.gist.say
evalable6 ()
Xliff m: class A { has $.a; has $.b }; A.new( a => 5).a.^attributes.gist.say 04:57
evalable6 (bigint $!value)
Xliff m: class A { has $.a; has $.b }; my $a = A.new( a => 5 ); $a.a.^attributes.gist.say; $a.b.^attributes.say 04:58
evalable6 (bigint $!value)
()
Xliff m: class A { has $.a; #= Can this be retrieved }; my $a = A.new( a => 5 ); $a.a.^attributes.gist.say; $a.b.^attributes.say
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/KxNgsTOMy9
Missing block
at /tmp/KxNgsTOMy9:1
------> 03ttributes.gist.say; $a.b.^attributes.say08⏏04<EOL>
Xliff m: class A { has $.a; #= Can this be retrieved }; my $a = A.new( a => 5 ); $a.a.^attributes.gist.say;
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/FaGsVecCJI
Missing block
at /tmp/FaGsVecCJI:1
------> 03ew( a => 5 ); $a.a.^attributes.gist.say;08⏏04<EOL>
Xliff m: class A { has $.a; #= Can this be retrieved; }; my $a = A.new( a => 5 ); $a.a.^attributes.gist.say; 04:59
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/FnqqcaaEhI
Missing block
at /tmp/FnqqcaaEhI:1
------> 03ew( a => 5 ); $a.a.^attributes.gist.say;08⏏04<EOL>
Xliff m: class A { has $.a; #= Can this be retrieved }; my $a = A.new( a => 5 ); $a.a.^attributes.gist.say;
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/Mfct_Wm1Di
Missing block
at /tmp/Mfct_Wm1Di:1
------> 03ew( a => 5 ); $a.a.^attributes.gist.say;08⏏04<EOL>
Xliff my $c = ::?CLASS.^name.split('::')[* - 1];
jmerelo releasable6: status 05:28
yoleaux 13 Jun 2019 20:31Z <AlexDaniel> jmerelo: sounds like a fun squashathon ajs.github.io/tools/2019/06/12/perl...ences.html
01:08Z <uzl> jmerelo: Someone should post a link to the survey on /r/perl6 as a sticky post. It might add that extra bit of participation.
releasable6 jmerelo, Next release in ≈6 days and ≈13 hours. 2 blockers. 221 out of 616 commits logged (⚠ 1 warnings)
jmerelo, Details: gist.github.com/8fe48d2857a42156a0...1d6e9c5624
jmerelo .tell AlexDaniel it could be :-) 05:29
yoleaux jmerelo: I'll pass your message to AlexDaniel.
jmerelo .tell uzl I have no idea how to do any of that. Can someone do that for me? Can you? 05:30
yoleaux jmerelo: I'll pass your message to uzl.
jmerelo .tell timotimo I'm rebuilding db in modules.perl6.org. Any idea why the crontab listing does not work? 05:51
yoleaux jmerelo: I'll pass your message to timotimo.
Xliff Anyone have any idea about the best way to add Windows NativeCall support to an existing NativeCall project? 06:13
AlexDaniel` jmerelo: let's do it next month? 06:14
we don't stumble upon really fun ideas often
tobs I really like the idea 06:16
(and the weekend still looks free)
Geth_ doc: a41396386a | (JJ Merelo)++ | doc/Type/VM.pod6
Adds definition for osname refs #2800
06:17
doc: e6e6e47347 | (JJ Merelo)++ | 2 files
Moves some methods to Systemic refs #2800
synopsebot Link: doc.perl6.org/type/VM
Xliff .tell jnthn How often are the DLLs on gtk-dlls.p6c.org refreshed? 06:34
yoleaux Xliff: I'll pass your message to jnthn.
rba Xliff: we brought gtk-dlls.p6c.org yesterday back online. 06:35
Xliff rba: Hah! Good timing. 06:36
rba: Are those DLLs recompiled from GTK on any kind of schedule?
rba Xliff: timotimo is compiled a new gtk library set for windows. yet this has to be tested and the module has to be ajusted as the filenames did change. 06:37
Xliff Oh! Thanks! 06:37
rba Xliff: So you asked just in the right moment... Think there will be something ready soon...
Xliff rba++ 06:40
rba Xliff: timotimo did the work :-)
Xliff timotimo++ 06:40
Xliff .tell timotimo Are you planning on updating the hashes for GTK::Simple::Build.pm6 06:44
yoleaux Xliff: I'll pass your message to timotimo.
tobs timotimo++ # finally understood your remark about grammar matches being instances of the grammar and how that really saves me. 09:43
timotimo \o/ 09:52
Xliff: AIUI the original files are now back up at the original URL and they should have the exact same hashes
Xliff timotimo: How old are those DLLs? 09:59
timotimo old 10:00
timotimo the new DLLs will require the littlest bit of work; they have different filenames, so GTK::Simple and others will probably have to be slightly altered to fit them again 10:01
i'm all out of windows, though :) 10:03
Xliff LOL 10:06
I want to see if I can get p6-GtkPlus working on Windows.
But I'd really like fresh DLLs to test against, since I 10:07
*I'm always fairly up-to-date on Linux
timotimo there are fresh dlls now! \o/
gtk-dlls.p6c.org/renamed/ 10:08
timotimo the build folder has the dlls packaged up 10:08
you can use the gtk-simple appveyor file as a template for "build dlls on a windows machine and make them available for download on appveyor's website or via an API" 10:10
Xliff Hmmm....
timotimo also, maybe you can figure out how to disable test suites for the things vcpkg builds, that'd surely make it at least 2x faster 10:12
cpan-p6 New module released to CPAN! Archive::Libarchive (0.0.12) by 03FRITH 10:49
Xliff timotimo: Will look into it. 10:51
wamiks Hi, I couldn't find an answer to question. Does a grammar's parse tree hold sub copies of the string at each node or just pointers to locns in the orig string? The memory size could be substantially different on a large tree depending. 11:03
timotimo it's just pointers 11:04
wamiks Cool, as I had hoped. thx! 11:04
timotimo however, using substr on a string already generates a pointer with start and length values to another string
that's a "rope" datastructure, it also supports repetition amounts for each piece
so "hello" x 1000000000 will be a very small string in memory 11:05
until you try to regex-match against it, which will force it to become one blob of contiguous memory for performance reasons
wamiks hmm. thx. very good to know. that could definitely be something I would do. :) 11:07
nadim_ .tell lizmat Could you please name Data::Dump::Tree in the updated modules in the weekly? There's been a few changes, hopefully better doc, and more examples 11:46
yoleaux nadim_: I'll pass your message to lizmat.
nadim_ timotimo: you may be interested by a simple filter I added to DDT, it "flattens" the tree and outputs: path, key, binder, ... tab separated so on can run the usual filters (cut, tr, grep, ..) on the data structure 11:48
on the command line
timotimo nadim_: oh, that sounds pretty neat 13:38
nadim_ timotimo: if you install the latest there is are two examples 13:42
timotimo: p6 examples/jflat.pl META6.json | cut -f 1,4 13:43
nadim_ jflat, read a json file, just to have something to render, flattens it via a 2 lines filter and then it's up to you to write a nicve bash filter 13:44
timotimo github.com/akavel/up - i am vaguely reminded of this tool's existence
nadim_ yes I know about it, there is one more I'll try to find a link, I tried to write a pipe debuger some times ago but then got lazy 13:46
timotimo i'm just randomly musing is there's an interesting use case to combine the approach of up with perl6 and having ddt in there somehow 13:46
nadim_ I love ddt! 13:49
I mean ddt, ddt is a pain but dd is great 13:50
ddd
this! (since I can't type today) www.gnu.org/software/ddd/ 13:51
timotimo wait, is ddd the great one, or the pain? 13:52
nadim_ ddd is great, my own stuff is a pain 13:53
timotimo in theory ddd is super cool, but i haven't used it much at all yet sadly
OK, in that case there isn't some kind of hidden terribleness that i just haven't found yet :)
nadim_ it will come ;)
there is one thing that I don't like, it's slow 13:54
Geth_ doc: 8715a01658 | Coke++ | xt/words.pws
learn combo operator
nadim_ but since you pushed towards the "custom setup", I find myself writting more filters and less code, so maybe it has come to some maturity 13:55
timotimo: if you use the: p6 - e 'ddt $whatnot, :does[DataSource]' | cut | ... let me know, I am curious about how people could use it 13:57
SmokeMachine vrurg: Sorry for not accept the PR yet... but I'm getting my computer back today and I'll be able to test it later... 14:32
vrurg SmokeMachine: no worries. Thanks! :) 14:33
SmokeMachine vrurg: and thank you for your PR and your issue!
vrurg: what do you think about the message of the not mapped error? I don't know if I exaggerated... 14:34
vrurg Why? 14:35
SmokeMachine: I would say that Mapped::Unique lacks information about the values resulted in duplication. In my case knowing them let me locate the problem in a minute. 14:37
SmokeMachine vrurg: yes, that makes sense. But I think I've exaggerated here: github.com/FCO/Red/blob/master/lib...ns.pm6#L75 14:41
sena_kun Kaiepi++ # Type::EnumHOW module is nice 14:42
vrurg SmokeMachine: I would let it go as it is. Best case scenario – this wouldn't happen often but may help squash a couple of bugs. Worst case – an end use see it and gets scared off. In the latter case it should be up to the developer to catch any error and wrap it into something user-digestable. 14:45
vrurg SmokeMachine: I base it on own experience from FreeBSD where similar message pushed me to report a few problems with ports. Not sure if I would do it without the message. 14:46
vrurg afk. 14:47
sena_kun m: grammar A { token TOP { <value> }; proto token value {*}; token value:sym<a> { "a" }; token value:sym<any> { . } }; A.parse("a").say 14:51
evalable6 「a」
value => 「a」
sena_kun I know about negative assertions, but they are based on behind/after patterns... is there a way to enforce more specific rule to win? something like "any is any, but when it is not `a`, in this case check other ones" 14:52
sena_kun hmm, this gist doesn't show the issue, because `value` in the output does not have exact symbol specified... 14:53
sena_kun hmm, I cannot reproduce it with a small gist... 14:57
xelak m: use NativeCall; my $p=Pointer.new(0x12345678); my $l = nativecast(int64, $p); say $l; 15:41
evalable6 (signal SIGSEGV)
xelak m: use NativeCall; sub malloc(size_t --> Pointer[void]) is native { * }; my $p = malloc(16); say $p; say nativecast(int64, $p).fmt("%x"); 15:44
evalable6 NativeCall::Types::Pointer[NativeCall::Types::void]<0x563013221d00>
7f61af8e6040
xelak hmm, so how can I cast a pointer to an int? 15:48
xelak m: use NativeCall; my $p=Pointer.new(0x12345678); say $p; 15:50
evalable6 NativeCall::Types::Pointer<0x12345678>
ugexe "Entropic – A Federated Package Manager for JavaScript" news.ycombinator.com/item?id=20164806 -- we've been doing this for (checks how old zef is...) 6 years 16:45
xelak m: use NativeCall; my $p=Pointer.new(0x12345678); say $p; my $l = $p.Int; say $l.fmt("%x"); 16:48
evalable6 NativeCall::Types::Pointer<0x12345678>
12345678
jmerelo Hi! 16:49
squashable6: status
squashable6 jmerelo, Next SQUASHathon in 20 days and ≈11 hours (2019-07-06 UTC-14⌁UTC+20). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
xelak ok, seems like i found my answer ^^^ 16:50
jmerelo xelak: what was the question 16:51
moritz 17:48 < xelak> hmm, so how can I cast a pointer to an int? 16:52
xelak jmerelo: how to cast a pointer to an int
jmerelo ah, OK. Nothing to do with the squashathon then. 16:53
jmerelo Should we bring back up design.perl6.org? People are starting to ask about it github.com/perl6/doc/issues/2854 16:53
Has everyone around answered the user survey? docs.google.com/forms/d/e/1FAIpQLS...g/viewform Please take a minute to do so. 16:55
Xliff jmerelo: Answers in 17:41
jmerelo Xliff: thanks! 17:42
We have ~70 answers for the time being. Would like to get to 200 or so.
If someone is attending TPCiP, please ask everyone to answer...
AlexDaniel m: say 42 18:35
yoleaux 05:29Z <jmerelo> AlexDaniel: it could be :-)
evalable6 42
AlexDaniel and again, where's camelia?
rba: ?
cpan-p6 New module released to CPAN! FileSystem::Parent (0.3.2) by 03LEMBARK 18:52
New module released to CPAN! FindBin (0.4.2) by 03LEMBARK
cpan-p6 New module released to CPAN! FindBin::libs (0.2.0) by 03LEMBARK 19:22
New module released to CPAN! FileSystem::Parent (0.3.3) by 03LEMBARK
neutron_stz guys, can someone give me a link for nqp-2019.03.tar.gz 19:37
bcs, im trying to build rakudo star from the github repository 19:38
pastebin.com/EjTQnqiw
ugexe I still dont understand those modules for what is othewise oneliners 19:41
m: my $filesystem-parent = -> $_, %seen? { unless %seen{.parent.absolute}++ { .parent.say && &?BLOCK(.parent, %seen) } }; $filesystem-parent($*CWD)
evalable6 "/home/bisectable/git".IO
"/home/bisectable".IO
"/home".IO
"/".IO
nadim_ neutron_stz: then clone it from github
ugexe and FindBin::libs is just fundamentally broken but for a few specific situations
timotimo surely lembark would appreciate bug reports? 19:42
ugexe the concept is fundamentally broken. and ive told them this befeore 19:45
timotimo oh 19:46
AlexDaniel I'm actually interested in seeing some efforts for cleaning up the ecosystem 19:49
there are *just* 1400+ modules, so maybe it makes sense to go through all of them and throw away some stuff that shouldn't be there 19:50
timotimo will we retire panda? 19:52
AlexDaniel kill it
then there's stuff like this: screenshots.firefox.com/vfDU5I6zcO....perl6.org 19:53
as a user, I'm really confused
rba AlexDaniel: all in 19:54
lizmat weekly: perl6.eu/euclid-path.html
notable6 lizmat, Noted!
AlexDaniel and then stuff like this: modules.perl6.org/search/?q=zeromq
two modules with the same name… come on 19:55
one of them doesn't run at all, btw, so it can be just thrown away IMO
ugexe i dont think it makes much sense to spend time on changing how the ecosystem works. instead create a new ecosystem with different policy
AlexDaniel mmm 19:56
lizmat this is what a recommendation manager is about
AlexDaniel lizmat: can you elaborate? 19:57
sena_kun AlexDaniel, the idea is great, though I think we want a more agile approach, banhammer presence somehow irritates people, even if it is a pretty healthy thing to have. More like a "Modules that are not polished enough are moved to some sort of purgatory, if its author fixes it, it is back, otherwise it is just there and e.g. hidden in search, but you still can find it somehow".
AlexDaniel ugexe: I'm all for creating some kind of policy, whether for a new ecosystem or the existing one. Who's going to do it, though? Personally I don't think I know enough. Can you do it? 19:58
lizmat AlexDaniel: github.com/perl6/specs/blob/master...on-manager
AlexDaniel sena_kun: yeah 19:59
Geth_ ¦ problem-solving: AlexDaniel assigned to jnthn Issue Maybe Any:D.await should return self? github.com/perl6/problem-solving/issues/38
Xliff m: my $a = 1; $a.VAR.name.say 20:01
evalable6 $a
Xliff m: my ($a, $b, $c ) = ^3; .VAR.name.say for $a, $b, $c;
evalable6 $a
$b
$c
Xliff m: sub aa ($a = 0) { $a.VAR.name.say } 20:04
evalable6
Xliff m: sub aa ($a = 0) { $a.VAR.name.say }; aa;
evalable6 Nil
Xliff m: sub aa ($a = 0) { $a.VAR.name.say }; aa();
evalable6 Nil
Xliff m: sub aa ($a = 0) { $a.VAR.name.say }; my $b = 2; aa($b);
evalable6 Nil
Xliff m: sub aa ($a is rw= 0) { $a.VAR.name.say }; my $b = 2; aa($b);
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/QsK7bPGYWf
Cannot use 'is rw' on optional parameter '$a'.
at /tmp/QsK7bPGYWf:1
Xliff m: sub aa ($a is rw) { $a.VAR.name.say }; my $b = 2; aa($b);
evalable6 $b
Xliff m: sub aa ($a is copy) { $a.VAR.name.say }; my $b = 2; aa($b);
evalable6 $a
ugexe AlexDaniel: ideal policy will vary by consumer. if you target the noob looking for modules on modules.perl6.org it may not please the people working in business 20:06
if/when i release an ecosystem it will most likely target the later
policy wise 20:07
cpan-p6 New module released to CPAN! App::MoarVM::ConfprogCompiler (0.0.1) by 03TIMOTIMO 20:08
timotimo it me 20:09
ugexe but i wouldnt promote a policy that limits a namespace to a single instance either way.
perhaps a consensus system that can determine what gets the short name when querying based on things like reverse dependencies, upvotes, or other metrics. 20:10
Geth_ ¦ problem-solving: AlexDaniel self-assigned The ecosystem is a mess github.com/perl6/problem-solving/issues/39
ugexe i'd also point out that maybe modules.perl6.org is simply due to be rewritten. People don't seem to have many problems using zef alongside these duplicated module short names 20:12
but zef was written to handle that from the start
sena_kun and there is github.com/perl6/modules.perl6.org/issues/121 20:13
hmmm, so cro-openapi-routes-from-definition dies on 2019.03, but is fixed on latest rakudo. :/ 20:14
AlexDaniel ugexe: fwiw I think other tools can benefit greatly if some of the useful bits of Zef had a nicer API 20:15
ugexe: I remember doing some crazy stuff in Blin just to get things barely working, and still I don't think it handles duplicated short names properly
I remember trying to use guts from Zef to achieve some stuff, but IIRC I was not very successful at that 20:16
maybe I just suck, you know, but if Zef handles things correctly then maybe we should strive to make it nicer so that things can depend on it easily 20:17
ugexe that is a problem with almost any API with a bunch of loosely coupled components. 20:19
and the API is actually good if one knows how to use it 20:21
(not that anyone has a decent way of knowing how to use it)
ugexe but i've been doing work the last few years to move many of the useful components into core perl6 itself 20:26
the Distribution interface and .candidates/reccomendation manager being the two big ones
AlexDaniel ugexe++ # that I actually noticed! 20:27
rba moritz: do you know anything about the camelia bot? 20:33
.tell diakopter do you run the camelia bot atm? 20:34
yoleaux rba: I'll pass your message to diakopter.
timotimo no, i believe nine runs it
neutron_stz if i execute configuration as following: "perl Configure.pl --gen-moar --gen-nqp --backends=moar --prefix ~/rakudo", could i be able to run it like #!~/rakudo/perl6 as interpreter 20:40
timotimo does linux expand ~ in hashbangs? 20:41
i'd be mildly surprised
neutron_stz im not sure 20:42
neutron_stz but i think so 20:42
timotimo if your prefix is ~/rakudo, then perl6 will land in ~/rakudo/bin/ 20:43
neutron_stz then will be #!~/rakudo/bin/perl6 ? 20:45
timotimo if ~ works, then yes, that probably works 20:46
why not #!/usr/bin/env perl6 instead? 20:47
sena_kun 6c: say '/pets' ~~ / ^ [ '/' <-[/]>+:[ '/' <-[/]>+: ]? | '/' <-[/]>+:[ '/' <-[/]>+: ]? | '/' <-[/]>+: '/' <-[/]>+: | '/' <-[/]>+: '/' <-[/]>+: | <!> ] $ /;
timotimo that's kind of a more standard way
and it'll work on other systems, too
committable6 sena_kun, ¦6c (37 commits): «「/pets」␤»
neutron_stz okay, thx ill try 20:48
what you mean, to make the perfix /usr/bin ?
timotimo no 20:49
env will look through PATH for you
neutron_stz ahhh yes yes i forgot about that 20:50
cpan-p6 New module released to CPAN! App::MoarVM::ConfprogCompiler (0.0.2) by 03TIMOTIMO 20:53
AlexDaniel timotimo: can you explain this to me 21:01
c: 1cb266b8da^^^,1cb266b8da,1cb266b8da^^^,1cb266b8da,1cb266b8da^^^,1cb266b8da (^50_000).grep(*.is-prime).tail.say; say (now - INIT now)
committable6 AlexDaniel, ¦1cb266b8da^^^: «49999␤7.2873513␤» ¦1cb266b: «49999␤9.393561␤» ¦1cb266b8da^^^: «49999␤7.2800290␤» ¦1cb266b: «49999␤9.3998428␤» ¦1cb266b8da^^^: «49999␤7.387149␤» ¦1cb266b: «49999␤9.3708393␤» 21:02
timotimo eyes glaze over 21:04
timotimo what am i seeing? 21:04
sena_kun it jumps from 7 seconds to 9
7, 9, 7, 9 and so on
AlexDaniel timotimo: so according to this benchmark 1cb266b8da is slower than 1cb266b8da^^^ 21:05
timotimo: but look at the commits in between… there's no way they could possibly cause a slowdown 21:06
especially one that is so noticeable
AlexDaniel I mean, we're talking about github.com/rakudo/rakudo/commit/1cb266b8da^ and github.com/rakudo/rakudo/commit/1cb266b8da^^ 21:08
right?
or github.com/rakudo/rakudo/commit/1cb266b8da itself
timotimo difference in C compilers? 21:09
AlexDaniel timotimo: it could only be that the compiler was updated 21:09
so if that's the case, then newer gcc is slower? 21:10
timotimo yeah
but it's a slowdown, right?
AlexDaniel yeah… I'm very confused 21:10
AlexDaniel c: 1cb266b8da^^^,1cb266b8da,1cb266b8da^^^,1cb266b8da,1cb266b8da^^^,1cb266b8da (^50_000).grep(*.is-prime).tail.say; say (now - INIT now) 21:11
AlexDaniel ah 21:14
c: 1cb266b8da^^^,1cb266b8da,1cb266b8da^^^,1cb266b8da,1cb266b8da^^^,1cb266b8da (^50_000).grep(*.is-prime).tail.say; say (now - INIT now)
committable6 AlexDaniel, ¦1cb266b8da^^^: «49999␤7.3227272␤» ¦1cb266b: «49999␤9.4255653␤» ¦1cb266b8da^^^: «49999␤7.359238␤» ¦1cb266b: «49999␤9.3491402␤» ¦1cb266b8da^^^: «49999␤7.3058181␤» ¦1cb266b: «49999␤9.3752979␤» 21:15
AlexDaniel timotimo: :S
can I know which compiler was used for each build? 21:16
not from perl6, of course, but is there a way?
timotimo hm, can "file" tell you? 21:21
ah, no
AlexDaniel shareable6: 1cb266b 21:23
shareable6 AlexDaniel, whateverable.6lang.org/1cb266b
AlexDaniel there are make and configure logs but I see no gcc version… 21:26
timotimo maybe something for the future
AlexDaniel a, ok, objdump to the rescue 21:27
AlexDaniel GCC: (Debian 6.3.0-18) 6.3.0 20170516 21:28
GCC: (Debian 4.9.2-10) 4.9.2 21:29
indeed! Different compiler!
timotimo: you're right! :)
timotimo that's ridiculous
i didn't mean to be right about this 21:34
AlexDaniel anybody wants to bisect gcc? 21:36
I don't feel like doing that today…
timotimo hahaha 21:40
we should first check to see if the time difference lives inside libtommath or moarvm 21:41
probably not in the jit, since that shouldn't be dependent on the compiler
though a difference in compiler could change when jitting happens exactly
AlexDaniel github.com/rakudo/rakudo/issues/2988 21:47
AlexDaniel timotimo: ok, what about here gist.github.com/Whateverable/9af39...a5ae2e0595 21:56
timotimo: where's the slowdown?
timotimo i'm out of dumb ideas :) 21:59
AlexDaniel picks a random revision 22:00
between 2018.09 and 2018.10 will do…
timotimo goes to bed 22:05
AlexDaniel timotimo: but what about this 22:06
c: 7d7aaf0c1d2^,7d7aaf0c1d2 (^30_000).grep(*.is-prime).tail.say; say (now - INIT now)
committable6 AlexDaniel, ¦7d7aaf0c1d2^: «29989␤5.1725937␤» ¦7d7aaf0: «29989␤6.4280064␤» 22:07
AlexDaniel github.com/rakudo/rakudo/commit/7d...86bcdc7790
timotimo try running the two commits in the opposite order 22:08
AlexDaniel c: 7d7aaf0c1d2^,7d7aaf0c1d2,7d7aaf0c1d2^,7d7aaf0c1d2,7d7aaf0c1d2^,7d7aaf0c1d2 (^30_000).grep(*.is-prime).tail.say; say (now - INIT now)
committable6 AlexDaniel, ¦7d7aaf0c1d2^: «29989␤5.14543963␤» ¦7d7aaf0: «29989␤6.4608185␤» ¦7d7aaf0c1d2^: «29989␤5.1480376␤» ¦7d7aaf0: «29989␤6.48102256␤» ¦7d7aaf0c1d2^: «29989␤5.14577034␤» ¦7d7aaf0: «29989␤6.406382␤» 22:09
AlexDaniel again, that's not noise or something
timotimo ok, ok, it's reasonably stable
without running any performance measurement programs against it i don't have a clue 22:10
AlexDaniel so it's exactly this commit: github.com/MoarVM/MoarVM/commit/30...6cffa1be9d
may be a compiler difference again… not sure if I want to check
timotimo haha
OK, i'll go to bed for realsies 22:11
good luck! 22:12
you could start by running it via "time" and see if the maxresidentk changes drastically
shouldn't, but who knows
lizmat sometimes I wonder where people get these ideas: twitter.com/dallaylaen/status/1139...0479837185 22:34
sleep&
AlexDaniel the weirdest ticket of all: github.com/rakudo/rakudo/issues/2945 22:38