Geth | rakudo: Kaiepi++ created pull request #1674: REPL: exit by pressing ^D twice, not once |
04:40 | |||||||||||||||||||||||||||||||||||||
nqp/nqpmake: 8a3f2005c6 | (Stefan Seifert)++ | tools/make.nqp No need to split target names, we already split prerequisites We already expand macros and split them into individual target names when dealing with prerequisites, so we don't have to do that again when processing targets. |
08:07 | ||||||||||||||||||||||||||||||||||||||
[Tux] |
|
09:10 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: 768cf9f298 | (Elizabeth Mattijsen)++ | src/core/Capture.pm6 Streamline Capture.FLATTENABLE_(LIST|HASH) This appears to make it 30% faster. This should benefit any code that passes on a flattened Capture. Found this while looking at start { } performance. |
12:41 | |||||||||||||||||||||||||||||||||||||
timotimo | :o :o :o :o :o | 12:47 | |||||||||||||||||||||||||||||||||||||
hg.icculus.org/icculus/mojoelf/fil.../mojoelf.c | |||||||||||||||||||||||||||||||||||||||
MasterDuke | can we use that for something? | 12:48 | |||||||||||||||||||||||||||||||||||||
timotimo | ryan gordon wrote this, "because dlopen() needs a filename and [he] wanted to load shared libraries from a memory buffer." | 12:49 | |||||||||||||||||||||||||||||||||||||
i ran into this very limitation when i wanted to build a single-executable rakudo binary | |||||||||||||||||||||||||||||||||||||||
because it has these "extops" that are loaded in via a .so file | 12:50 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | ah | 12:52 | |||||||||||||||||||||||||||||||||||||
but this won't work for windows, right? | 12:53 | ||||||||||||||||||||||||||||||||||||||
timotimo | oh, well ... | 12:54 | |||||||||||||||||||||||||||||||||||||
i think if we compile the library in question into an elf format even on windows it might work? | 12:55 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | huh | 12:56 | |||||||||||||||||||||||||||||||||||||
timotimo | not sure if we can actually do that | ||||||||||||||||||||||||||||||||||||||
there's a library that does the same thing for PE binaries | 12:58 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | oh, nice | 12:59 | |||||||||||||||||||||||||||||||||||||
timotimo | github.com/fancycode/MemoryModule | 13:00 | |||||||||||||||||||||||||||||||||||||
dogbert17 | is synopsebot down? | 13:14 | |||||||||||||||||||||||||||||||||||||
m: class Foo { multi method aaa() { my Int $y = 0; }; multi method aaa(Int $x where $x > 0 = 1) { my Int $y = $x; }; }; my Instant $t1 = now; for (1 .. 10000) { Foo.aaa() }; my Instant $t2 = now; my $d1 = ( $t2 - $t1 ).narrow; say "$d1" | 14:22 | ||||||||||||||||||||||||||||||||||||||
camelia | 0.3034108 | ||||||||||||||||||||||||||||||||||||||
dogbert17 | m: class Foo { multi method aaa() { my Int $y = 0; }; multi method aaa(Int $x = 1) { my Int $y = $x; }; }; my Instant $t1 = now; for (1 .. 10000) { Foo.aaa() }; my Instant $t2 = now; my $d1 = ( $t2 - $t1 ).narrow; say "$d1" | ||||||||||||||||||||||||||||||||||||||
camelia | 0.016522 | ||||||||||||||||||||||||||||||||||||||
dogbert17 | say 0.3034108 / 0.016522 | 14:23 | |||||||||||||||||||||||||||||||||||||
evalable6 | 18.364048 | ||||||||||||||||||||||||||||||||||||||
timotimo | it's a little bit faster if you write where * > 0 rather than where $x > 0 | 14:25 | |||||||||||||||||||||||||||||||||||||
dogbert17 | aha | ||||||||||||||||||||||||||||||||||||||
m: class Foo { multi method aaa() { my Int $y = 0; }; multi method aaa(Int $x where * > 0 = 1) { my Int $y = $x; }; }; my Instant $t1 = now; for (1 .. 10000) { Foo.aaa() }; my Instant $t2 = now; my $d1 = ( $t2 - $t1 ).narrow; say "$d1" | 14:26 | ||||||||||||||||||||||||||||||||||||||
camelia | 0.4627085 | ||||||||||||||||||||||||||||||||||||||
dogbert17 | heh | ||||||||||||||||||||||||||||||||||||||
timotimo | um ... | ||||||||||||||||||||||||||||||||||||||
it's faster on my system at least | 14:27 | ||||||||||||||||||||||||||||||||||||||
maybe try benchable instead, as it runs the thing multiple times to account for system load and such? | |||||||||||||||||||||||||||||||||||||||
dogbert17 checks locally | |||||||||||||||||||||||||||||||||||||||
yeah, it's faster although not by much | 14:28 | ||||||||||||||||||||||||||||||||||||||
so what's happening here, i.e. in the first example we call the multi with no params so the one with the where clause shouldn't be involved ? | 14:29 | ||||||||||||||||||||||||||||||||||||||
timotimo | it does look like it's calling into ACCEPTS; i'd imagine we could try to pull the where clause out when compiling the signature to actual code | ||||||||||||||||||||||||||||||||||||||
m: class Foo { multi method aaa() { my Int $y = 0; }; multi method aaa(Int $x where $x > 0) { my Int $y = $x; }; }; my Instant $t1 = now; for (1 .. 10000) { Foo.aaa() }; my Instant $t2 = now; my $d1 = ( $t2 - $t1 ).narrow; say "$d1" | 14:30 | ||||||||||||||||||||||||||||||||||||||
camelia | 0.0067389 | ||||||||||||||||||||||||||||||||||||||
timotimo | if you make it non-optional it takes the first one always | 14:31 | |||||||||||||||||||||||||||||||||||||
dogbert17 | interesting | 14:32 | |||||||||||||||||||||||||||||||||||||
timotimo | looks like an optional parameter that has a matching where clause with its default value is considered more narrow than the one that matches arity perfectly | 14:33 | |||||||||||||||||||||||||||||||||||||
dogbert17 | is that reasonable? | 14:34 | |||||||||||||||||||||||||||||||||||||
timotimo | i'd prefer if it didn't do that :) | ||||||||||||||||||||||||||||||||||||||
what if we re-order the candidates .. | |||||||||||||||||||||||||||||||||||||||
m: class Foo { multi method aaa(Int $x where $x > 0 = 1) { my Int $y = 1; }; multi method aaa() { my Int $y = 0; }; }; my Instant $t1 = now; for (1 .. 10000) { Foo.aaa() }; my Instant $t2 = now; my $d1 = ( $t2 - $t1 ).narrow; say "$d1" | 14:35 | ||||||||||||||||||||||||||||||||||||||
camelia | 0.2533668 | ||||||||||||||||||||||||||||||||||||||
timotimo | nope | ||||||||||||||||||||||||||||||||||||||
dogbert17 | hmm | 14:36 | |||||||||||||||||||||||||||||||||||||
was looking at RT #128055 | 14:37 | ||||||||||||||||||||||||||||||||||||||
however certain bots are down :( | |||||||||||||||||||||||||||||||||||||||
Geth | nqp/nqpmake: dc717a8b77 | (Stefan Seifert)++ | tools/make.nqp Ensure we get the most up to date timestamp for freshly built targets |
14:44 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | undersightable6: status | 14:54 | |||||||||||||||||||||||||||||||||||||
… | |||||||||||||||||||||||||||||||||||||||
undersightable6: status | 14:58 | ||||||||||||||||||||||||||||||||||||||
undersightable6 | AlexDaniel, OK! Working on it… | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, 0 errors, 11 warnings: gist.github.com/fc9fbb5c782e7ac3f8...3b64203657 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | dalek synopsebot ZofBot | 14:59 | |||||||||||||||||||||||||||||||||||||
I can't ssh to hack.p6c.org | 15:00 | ||||||||||||||||||||||||||||||||||||||
timotimo: ↑ you should be pinged according to github.com/perl6/doc/issues/711#is...-235414744 | |||||||||||||||||||||||||||||||||||||||
dogbert17: fwiw undersightable6 was down because of the 10 connection limit, and sometimes other whateverables end up like this too | 15:01 | ||||||||||||||||||||||||||||||||||||||
(there are 17 bots and only 10 connections are allowed per IP) | 15:02 | ||||||||||||||||||||||||||||||||||||||
well, and 20 is the limit because ipv4 and ipv6 | 15:03 | ||||||||||||||||||||||||||||||||||||||
dogbert17 | so, we have too many bots :) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | no, the real problem is that we don't have this merged: github.com/MoarVM/MoarVM/pull/659 | 15:04 | |||||||||||||||||||||||||||||||||||||
then I'd be able to give every bot its own ipv4 address lol (if I really wanted) | |||||||||||||||||||||||||||||||||||||||
dogbert17 | cool | ||||||||||||||||||||||||||||||||||||||
are your bots still doing well, i.e. no SEGV's | 15:05 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | yes, everything is perfect | ||||||||||||||||||||||||||||||||||||||
no significant memory leaks, no segvs | |||||||||||||||||||||||||||||||||||||||
this will be the most stable star release from my view | 15:06 | ||||||||||||||||||||||||||||||||||||||
dogbert17 | \o/ | ||||||||||||||||||||||||||||||||||||||
timotimo | i just force-off'd hack | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | timotimo: thanks | ||||||||||||||||||||||||||||||||||||||
timotimo | AlexDaniel: shouldn't you be able to get a "custom" network interface for individual unit files that have a different IP? | 15:16 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | timotimo: maybe? | ||||||||||||||||||||||||||||||||||||||
last time I looked I was unable to figure out an easy way to do it | 15:17 | ||||||||||||||||||||||||||||||||||||||
timotimo | that'll get us a head start on "too many bots" | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | well, there's a room for 3 more bots :) | ||||||||||||||||||||||||||||||||||||||
they just get stuck trying to reconnect with the same ip sometimes | |||||||||||||||||||||||||||||||||||||||
Kaiepi | unit files? | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | I think after an hour of this they get restarted by systemd, which then does .pick again | 15:18 | |||||||||||||||||||||||||||||||||||||
and so has 50% chance of finally connecting properly :D | |||||||||||||||||||||||||||||||||||||||
timotimo | Kaiepi: systemd things | ||||||||||||||||||||||||||||||||||||||
Kaiepi | ohh | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | I mean, the bot does .pick when it starts | ||||||||||||||||||||||||||||||||||||||
Kaiepi | for my vpses i have dhcpd set up so each one has its own static ip for this sort of thing | 15:22 | |||||||||||||||||||||||||||||||||||||
*vms | |||||||||||||||||||||||||||||||||||||||
they use their own network interfaces for this | 15:23 | ||||||||||||||||||||||||||||||||||||||
i'm not sure how well that'd transfer over to systemd, but i haven't had any problems with it so far | 15:24 | ||||||||||||||||||||||||||||||||||||||
dogbert17 | RT #130370 | 15:27 | |||||||||||||||||||||||||||||||||||||
synopsebot | RT#130370 [open]: rt.perl.org/Ticket/Display.html?id=130370 [CONC] Tapping on a very active .out of Proc::Async wrecks the work queue | ||||||||||||||||||||||||||||||||||||||
dogbert17 | yay | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | dogbert17: yeah that's resolved I think | 15:30 | |||||||||||||||||||||||||||||||||||||
maybe there are other cases where it does not perform well enough | 15:31 | ||||||||||||||||||||||||||||||||||||||
but this particular ticket probably just needs tests | |||||||||||||||||||||||||||||||||||||||
jnthn | That one is a lot better than it was because there's now multiple work queues | 15:38 | |||||||||||||||||||||||||||||||||||||
There isn't yet sufficient work done on back-pressure to slow down a process emitting too fast for us to handle, however | 15:39 | ||||||||||||||||||||||||||||||||||||||
nine | Darn...make recipies consist of multiple commands which have to be run serially. This makes managing concurrency via ConcBlockingQueue for those async processes a lot harder | 15:53 | |||||||||||||||||||||||||||||||||||||
timotimo | give a command the queue and a "next" like a linked list so they can push their next back into the queue? | 15:54 | |||||||||||||||||||||||||||||||||||||
nine | That's how I figured it would work overall. The difficulty now comes from the queue managing low level commands while concurrency is meant for the higher level jobs. | 15:58 | |||||||||||||||||||||||||||||||||||||
Will need some thinking for how to structure this. At least most of the infrastructure is already done. I have a nice job graph built from the Makefile tree and I have a means of finding the next buildable job. | 15:59 | ||||||||||||||||||||||||||||||||||||||
The funny part is that to be able to keep the queue filled, I may not just toposort the tree once and push into the queue but have to traverse the tree again and again. Countrary to intuition this is not that costly because the next buildable job will be reached in very few traversal steps every time. | 16:03 | ||||||||||||||||||||||||||||||||||||||
dogbert17 | m: my @primes = grep { .is-prime }, 1 .. *; my @p = gather for 4000, 5, 100, 2000 -> $n { take start { @primes[$n] }; }; .say for await @p # RT #127208 | 17:12 | |||||||||||||||||||||||||||||||||||||
camelia | An operation first awaited: in block <unit> at <tmp> line 1 Died with the exception: No such method 'is-prime' for invocant of type 'Mu' in block at <tmp> line 1 in block at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
synopsebot | RT#127208 [open]: rt.perl.org/Ticket/Display.html?id=127208 [SEGV][CONC] Non-deterministic segfaults in parallel code | ||||||||||||||||||||||||||||||||||||||
dogbert17 | is the syntax above incorrect ? | ||||||||||||||||||||||||||||||||||||||
jnthn | Syntax is fine, it's the semantics that are the problem. | 17:18 | |||||||||||||||||||||||||||||||||||||
dogbert17 | so the code is a bit bogus as it stands | 17:20 | |||||||||||||||||||||||||||||||||||||
dogbert17 must read up a bit on this stuff | 17:22 | ||||||||||||||||||||||||||||||||||||||
Geth_ | nqp: 29793bb553 | usev6++ | src/vm/jvm/QAST/Compiler.nqp [JVM] Fix compilation for list of void statements Fixes 'my (\x) = 42' (gave an ArrayIndexOutOfBoundException before). |
17:34 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | dogbert17: I guess RT#128870 is related? | 18:47 | |||||||||||||||||||||||||||||||||||||
synopsebot | RT#128870 [open]: rt.perl.org/Ticket/Display.html?id=128870 [SEGV] Pushing into the same array from two threads segfaults reliably | ||||||||||||||||||||||||||||||||||||||
Geth_ | nqp: 9cc4fc134b | (Elizabeth Mattijsen)++ | tools/build/MOAR_REVISION Get CPP nativecall and nqp::ctx JITting fixes |
18:58 | |||||||||||||||||||||||||||||||||||||
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...9-gfc1bb31 | |||||||||||||||||||||||||||||||||||||||
rakudo: dc1a3f5a31 | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION Bump NQP to several fixes |
19:14 | ||||||||||||||||||||||||||||||||||||||
¦ rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....4-g9cc4fc1 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: “I'm working from these premises: […] Perl 6 is not going to change its name.” that's a very strong assumption that hopefully does not correspond to reality | 19:59 | |||||||||||||||||||||||||||||||||||||
for example, we have this: github.com/perl6/6.d-prep/tree/mas...ded-naming | |||||||||||||||||||||||||||||||||||||||
which is not exactly about changing a name completely, but it can turn into that eventually | |||||||||||||||||||||||||||||||||||||||
and even your 3rd premise is not entirely right, as Larry seemed to agree that things can have more than one name | 20:02 | ||||||||||||||||||||||||||||||||||||||
lizmat | well, it comes together with "Larry is not going to change his mind about the naming of Perl 6" | ||||||||||||||||||||||||||||||||||||||
I guess TIMTOWTNI :- | 20:03 | ||||||||||||||||||||||||||||||||||||||
( | |||||||||||||||||||||||||||||||||||||||
Geth_ | roast: 9f1fd82def | usev6++ | 2 files [JVM] Run tests for my with parens and SSA binding Fixed with github.com/perl6/nqp/commit/29793bb553 |
||||||||||||||||||||||||||||||||||||||
lizmat | AlexDaniel: let me put it this way: I believe it when I see it :-) | 20:06 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: well, I assume you've seen this? youtu.be/E5t8qaAGw9w?t=4885 | ||||||||||||||||||||||||||||||||||||||
lizmat | AlexDaniel: I co-organized that even and I was there :-) | 20:08 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | touché :) | ||||||||||||||||||||||||||||||||||||||
jnthn wonders where AlexDaniel quoted from? | 20:11 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | www.reddit.com/r/perl/comments/885...nd_in_the/ | 20:12 | |||||||||||||||||||||||||||||||||||||
jnthn | oh goodness reddit | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | :) | ||||||||||||||||||||||||||||||||||||||
lizmat | yeah, thanks to the efforts of ribasushi | 20:13 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | listening to that video carefuly, however, I realize that it doesn't fully make sense. He is talking about marketing distributions and … versions? So Star can be marketed as Star, and Diwali can be marketed as Diwali? Well thanks a lot, but this is not helping anything when the underlying language is “Perl”. | ||||||||||||||||||||||||||||||||||||||
lizmat | indeed | 20:14 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | and it almost feels like I and Zoffix were a bit too optimistic to hear what we wanted to hear there | ||||||||||||||||||||||||||||||||||||||
lizmat | and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2018/03/31/...-released/ | 22:05 | |||||||||||||||||||||||||||||||||||||
timotimo | lizmat: i have a blog post! | 22:08 | |||||||||||||||||||||||||||||||||||||
oh wait | 22:09 | ||||||||||||||||||||||||||||||||||||||
lizmat | cool, where ? | ||||||||||||||||||||||||||||||||||||||
timotimo | that was already in last week's weekly | ||||||||||||||||||||||||||||||||||||||
never mind! | |||||||||||||||||||||||||||||||||||||||
i just can't believe it has been that long :) | |||||||||||||||||||||||||||||||||||||||
lizmat | yeah, time flies, and it's not even a week ago :) | ||||||||||||||||||||||||||||||||||||||
timotimo | right | 22:10 | |||||||||||||||||||||||||||||||||||||
Zoffix | AlexDaniel: I didn't hear what I wanted to hear. I heard exactly what Larry said: "we can have other names under which versions/distros can be marketed". Which is exactly why the 6.d-prep repo talks about aliases not renames ( irclog.perlgeek.de/perl6/2018-03-16#i_15929728 ) | 23:20 | |||||||||||||||||||||||||||||||||||||
yoleaux | 30 Mar 2018 16:03Z <Kaiepi> Zoffix: didn't end up being a bug, just differences in how openbsd handles fcntl that i wasn't aware of | ||||||||||||||||||||||||||||||||||||||
Zoffix | But skimming that reddit thread, I'd say people are doing too much thinking for Larry. People spew completely made up information just for the sake of trying to win an argument and not having an accurate picture of reality. | 23:21 | |||||||||||||||||||||||||||||||||||||
As well as people trying to intetionally stir up drama by declaring assumptions about liz's talks as facts before it even happened | 23:24 | ||||||||||||||||||||||||||||||||||||||
lizmat++ # good weekly | 23:29 | ||||||||||||||||||||||||||||||||||||||
You got me with the Singularity :( | |||||||||||||||||||||||||||||||||||||||
(mostly because it's still 31st here :P) | |||||||||||||||||||||||||||||||||||||||
timotimo | april fool's things have been happening all day for some reason | 23:30 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | Zoffix: well, that quote is exactly my point. He didn't say that the language itself can be marketed under another name | 23:42 | |||||||||||||||||||||||||||||||||||||
maybe it was implied, I don't know | |||||||||||||||||||||||||||||||||||||||
Zoffix | AlexDaniel: the question was posed about multiple language versions and the answer was about versions. | 23:48 | |||||||||||||||||||||||||||||||||||||
There was no "THE language" in that question. | |||||||||||||||||||||||||||||||||||||||
("Pumpking Perl" is the old proposed rename for Perl 5) | 23:50 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | oh, versions in this sense | ||||||||||||||||||||||||||||||||||||||
I totally forgot that the number was supposed to be a version | |||||||||||||||||||||||||||||||||||||||
d'oh! | |||||||||||||||||||||||||||||||||||||||
OK then | 23:52 | ||||||||||||||||||||||||||||||||||||||
ZofBot: do you also now think that “6” is part of the name? | |||||||||||||||||||||||||||||||||||||||
ZofBot | AlexDaniel, m |