Perl 6 - the future is here, just unevenly distributed

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

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

All times shown according to UTC.

Time Nick Message
00:02 Geth ¦ 6.d-prep: a306a37dc9 | (Zoffix Znet)++ (committed using GitHub Web editor) | TODO/README.md
00:02 Geth ¦ 6.d-prep: TODO: toss dead files
00:02 Geth ¦ 6.d-prep:
00:02 Geth ¦ 6.d-prep: It's a bit annoying to write a test in a file, just to find out the file
00:02 Geth ¦ 6.d-prep: isn't being run and doesn't compile.
00:02 Geth ¦ 6.d-prep: review: https://github.com/perl6/6.d-prep/commit/a306a37dc9
00:05 Geth ¦ roast: 986f263ef4 | (Zoffix Znet)++ | S10-packages/require-and-use--dead-file.t
00:05 Geth ¦ roast: Rename dead file squatting on a good name
00:05 Geth ¦ roast:
00:05 Geth ¦ roast: The file isn't in t/spectest.data and doesn't even compile.
00:05 Geth ¦ roast: review: https://github.com/perl6/roast/commit/986f263ef4
00:17 Geth ¦ roast: 5685050756 | (Zoffix Znet)++ | S10-packages/require-and-use.t
00:17 Geth ¦ roast: Test circular dependency is detected
00:17 Geth ¦ roast:
00:17 Geth ¦ roast: RT#126688: https://rt.perl.org/Ticket/Display.html?id=126688
00:17 Geth ¦ roast:
00:17 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=126688
00:17 Geth ¦ roast: (only the new test was added in this commit. The previous
00:17 Geth ¦ roast: contents of the file weren't being run nor did they compile.
00:17 Geth ¦ roast: They were moved to require-and-use--dead-file.t in
00:17 Geth ¦ roast: https://github.com/perl6/roast/commit/986f263ef4 )
00:17 Geth ¦ roast: review: https://github.com/perl6/roast/commit/5685050756
00:17 Geth ¦ rakudo/nom: 3da62db991 | (Zoffix Znet)++ | t/spectest.data
00:17 Geth ¦ rakudo/nom: Add new test file to list of test files to run
00:17 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3da62db991
00:20 Geth ¦ roast: 961b973779 | (Zoffix Znet)++ (committed using GitHub Web editor) | S10-packages/require-and-use.t
00:20 Geth ¦ roast: Fix Engrish in test description
00:20 Geth ¦ roast: review: https://github.com/perl6/roast/commit/961b973779
00:24 Geth ¦ roast: 0b6742697d | (Zoffix Znet)++ (committed using GitHub Web editor) | S02-types/set.t
00:24 Geth ¦ roast: Remove unintendeded interpolation…
00:24 Geth ¦ roast:
00:24 Geth ¦ roast: …in test's description
00:24 Geth ¦ roast: review: https://github.com/perl6/roast/commit/0b6742697d
00:37 Geth ¦ roast: 1e20619853 | (Zoffix Znet)++ | S02-types/set.t
00:37 Geth ¦ roast: Test List of Pairs/Hash .Set coercer
00:37 Geth ¦ roast:
00:37 Geth ¦ roast: - Ensure the .values of Pairs get interpreted as weights
00:37 Geth ¦ roast: review: https://github.com/perl6/roast/commit/1e20619853
00:38 Geth ¦ roast: 19d353dd98 | (Zoffix Znet)++ | 2 files
00:38 Geth ¦ roast: Add RT ticket references to new tests
00:38 Geth ¦ roast: review: https://github.com/perl6/roast/commit/19d353dd98
00:41 geekosaur joined #perl6-dev
00:59 cognominal joined #perl6-dev
01:02 skids joined #perl6-dev
01:25 geekosaur joined #perl6-dev
01:55 ilbot3 joined #perl6-dev
01:55 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
01:55 malcomX527 joined #perl6-dev
02:01 astj joined #perl6-dev
02:06 astj joined #perl6-dev
02:09 astj joined #perl6-dev
02:11 astj joined #perl6-dev
02:29 AlexDani` joined #perl6-dev
02:46 Geth ¦ roast: 8e382fb938 | (Justin DeVuyst)++ | S32-io/IO-Socket-Async.t
02:46 Geth ¦ roast: Tests for async socket returned port values.  See RT#132135.
02:46 Geth ¦ roast: review: https://github.com/perl6/roast/commit/8e382fb938
02:46 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=132135
02:51 geekosaur joined #perl6-dev
03:34 astj joined #perl6-dev
03:49 astj joined #perl6-dev
03:49 astj joined #perl6-dev
04:12 geekosaur welp. looks like more Apple Xcode changes is indeed what's behind the new clock_gettime errors
04:44 astj joined #perl6-dev
04:45 astj joined #perl6-dev
04:55 llfourn joined #perl6-dev
04:59 astj joined #perl6-dev
05:24 vendethiel- joined #perl6-dev
06:09 [Tux] This is Rakudo version 2017.09-42-g3da62db99 built on MoarVM version 2017.09.1-21-g523725a3
06:09 [Tux] csv-ip5xs        1.333 -  1.337
06:09 [Tux] test             9.747 -  9.940
06:09 [Tux] test-t           3.424 -  3.453
06:09 [Tux] csv-parser      12.126 - 12.806
06:17 samcv geekosaur, i think i fixed that?
06:17 samcv do you have the latest Moar?
06:18 geekosaur that was commentary based on discussion elsewhere.
06:18 samcv ah
06:18 geekosaur and it may in fact be a distinct issue that might bite later
06:19 geekosaur there's a new Xcode that has messed with all that stuff again :/
06:34 bartolin i'm still struggling with teaching the EvalServer to find BOOTSTRAP.nqp before 'make install' (RT #132101). ideas about that issue are very welcome :-)
06:34 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=132101
06:34 bartolin the best idea i had so far, is to use an environmental variable -- like this https://gist.github.com/usev6/9a2fde23088b755914af263175641b4c
07:12 llfourn_ joined #perl6-dev
07:56 Ven`` joined #perl6-dev
08:06 gfldex joined #perl6-dev
08:06 awwaiid joined #perl6-dev
08:24 vendethiel- joined #perl6-dev
08:40 robertle joined #perl6-dev
09:03 [TuxCM] joined #perl6-dev
09:04 lizmat Files=1227, Tests=75115, 298 wallclock secs (14.64 usr  5.32 sys + 2016.98 cusr 210.03 csys = 2246.97 CPU)
09:38 jnthn bartolin: Is it not just that the arguments to create-jvm-runner or whatever ended up the wrong way around? It happened at some point for the MoarVM build
09:39 jnthn bartolin: fb0b3eb5c79223f is where I did that
09:39 jnthn s/did/fixed/
09:39 jnthn Hmm, looks like a newly added test for IO::Socket::Async is racey
09:39 jnthn I thought I'd got another nasty problem to solve
09:40 jnthn But no, new racey test.
09:45 Geth ¦ roast: 5efc3e5644 | (Jonathan Worthington)++ | S32-io/IO-Socket-Async.t
09:45 Geth ¦ roast: Fix race condition in socket test
09:45 Geth ¦ roast:
09:45 Geth ¦ roast: We can't be sure the server connection callback will fire before the
09:45 Geth ¦ roast: connect method of the client returns from its await.
09:45 Geth ¦ roast: review: https://github.com/perl6/roast/commit/5efc3e5644
09:51 bartolin jnthn: i quite, i already tried something similiar to fb0b3eb5c -- but i'll check again this evening.
09:51 bartolin *i'm quite sure ...
10:06 eater where are the constants from IO::Socket::INET::PIO sourced from? https://github.com/rakudo/rakudo/blob/nom/src/core/IO/Socket/INET.pm
10:07 eater they are at least not the same as bits/socket.h>
10:07 eater defines them
10:09 Geth ¦ rakudo/supply-block-refactor: 547839200a | (Jonathan Worthington)++ | 2 files
10:09 Geth ¦ rakudo/supply-block-refactor: Queue Supply messages on recursion
10:09 Geth ¦ rakudo/supply-block-refactor:
10:09 Geth ¦ rakudo/supply-block-refactor: This handles the case where a Supply does an emit/done/quit and there
10:09 Geth ¦ rakudo/supply-block-refactor: is a code path that ends up looping back to the Supply itself. Due to
10:09 Geth ¦ rakudo/supply-block-refactor: messages on a Supply being serialized, this would result in a deadlock
10:09 Geth ¦ rakudo/supply-block-refactor: after the recent changes to the Supply concurrency model. Previously,
10:09 Geth ¦ rakudo/supply-block-refactor: it would work out for `supply`/`react` blocks due to their queueing of
10:09 Geth ¦ rakudo/supply-block-refactor: <…commit message has 24 more lines…>
10:09 Geth ¦ rakudo/supply-block-refactor: review: https://github.com/rakudo/rakudo/commit/547839200a
10:09 jnthn That was tricky...
10:13 jnthn Now don't have any stresstest regression from that branch, at least
10:28 pmurias joined #perl6-dev
10:35 jnthn heh, an NYI survives in the branch that no spectest covers :)
10:35 * jnthn adds some
10:37 pmurias bartolin: re the  nativecallinvoke op, I can implement that as it's just a simpler nativecall op that doesn't do deconting
10:37 DrForr Well, Prague.pm last night was actually pretty large, I think we got ~12 people.
10:38 Geth ¦ rakudo/supply-block-refactor: 397692aca5 | (Jonathan Worthington)++ | src/core/Supply.pm
10:38 Geth ¦ rakudo/supply-block-refactor: Some small optimizations to `supply`/`react`
10:38 Geth ¦ rakudo/supply-block-refactor: review: https://github.com/rakudo/rakudo/commit/397692aca5
10:38 Geth ¦ rakudo/supply-block-refactor: e0e5e6fac9 | (Jonathan Worthington)++ | src/core/Supply.pm
10:38 Geth ¦ rakudo/supply-block-refactor: Handle await-all during adding a whenever
10:38 Geth ¦ rakudo/supply-block-refactor: review: https://github.com/rakudo/rakudo/commit/e0e5e6fac9
10:38 moritz DrForr: wow, that's nice
10:38 jnthn DrForr: Nice. Will it be a regular-ish meeting?
10:39 DrForr It apparently is; I was sitting next to the guy who ran the website and he sheepishly admitted that he hadn't updated it in a while.
10:39 jnthn Haha
10:39 * jnthn will keep an eye on it
10:40 jnthn Hopefully I can join next time
10:41 DrForr Hope so. I also got a note saying that the mailing list had stopped working a few months ago as well, so apparently that side of things has been running on autopilot for a while.
10:41 jnthn I'd assumed not updated website and defunct mailing list = no meetings :P
10:42 DrForr I would have assumed much the same.
10:46 bartolin pmurias: that would be great.
11:00 Geth ¦ rakudo/supply-block-refactor: b16aba019b | (Jonathan Worthington)++ | src/core/Lock/Async.pm
11:00 Geth ¦ rakudo/supply-block-refactor: Optimize recursion handling in Lock::Async
11:00 Geth ¦ rakudo/supply-block-refactor:
11:00 Geth ¦ rakudo/supply-block-refactor: No semantic changes, this just rewrites a hot path in a more optimal
11:00 Geth ¦ rakudo/supply-block-refactor: way, without too much cost to its overall clarity.
11:00 Geth ¦ rakudo/supply-block-refactor: review: https://github.com/rakudo/rakudo/commit/b16aba019b
11:04 jnthn Well, I guess it's merge time :)
11:06 |Tux| joined #perl6-dev
11:09 timotimo exciting!
11:09 dogbert17 jnthn: if you merge, I can subject hte code to some 'nasty' testing while you enjoy your lunch :)
11:14 skids joined #perl6-dev
11:14 Geth ¦ rakudo: the-eater++ created pull request #1169: Fix PIO table so they are equal to the kernel values + add family packing
11:14 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1169
11:16 Geth ¦ rakudo/nom: 26 commits pushed by (Jonathan Worthington)++
11:16 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/compare/3da62db991...6646e36475
11:16 jnthn That is decidedly the most difficult stuff I've done in a while.
11:18 Geth ¦ roast: 0cec8b172d | (Jonathan Worthington)++ | S17-supply/syntax-nonblocking-await.t
11:18 Geth ¦ roast: Test various cases of await in react/supply blocks
11:18 Geth ¦ roast: review: https://github.com/perl6/roast/commit/0cec8b172d
11:18 * lizmat pulls, builds and sets of a spectest
11:19 jnthn Basically, the concurrency model underneath supplies has changed and been unifited, so supply blocks and the other stuff share a common approach
11:19 jnthn It's also been made much more 6.d friendly
11:19 jnthn So that you can now do an `await` in a react/supply/whenever without actually clogging the thread pool up (provided you're in the pool when you do the await)
11:20 jnthn s/unifited/unified/
11:20 dogbert17 jnthn++, might this be worthy of a blog post perhaps
11:20 jnthn Note, `use v6.d.PREVIEW` required for that
11:21 jnthn Yeah, will go in my queue
11:21 jnthn At the heart of it is a new Lock::Async, which is a pretty interesting mechanism
11:21 dogbert17 do you want me to be really 'mean', i.e. try with MVM_SPESH_NODELAY and _BLOCKING etc
11:21 jnthn Can try, sure
11:22 dogbert17 ok, will do :)
11:22 timotimo so awaiting a lock::async will - in 6.d - put your continuation into the thread pool and one of the registered waiting tasks will be woken up each time the lock is "released"?
11:22 jnthn Yes
11:22 jnthn Though actually we already are doing that today for supplies
11:23 jnthn Inside of CORE.setting
11:23 timotimo OK, but the user can't do it like that without significant effort
11:23 jnthn supply/react blocks already use this model too
11:24 jnthn Though you actually need to have competing incoming data to really hit this
11:24 jnthn The only effort you need to take to get the full non-blocking semantics is to stick in `use v6.d.PREVIEW` :)
11:25 jnthn Supplies now use some of the 6.d internals even in 6.c, as an implementation detail
11:25 jnthn But the exact mechanism supply/react blocks used for concurrency control was always an implementation detail; that's kinda the point of an abstraction :)
11:25 timotimo right, since whenever blocks must already be assumed to run on any thread, right?
11:25 jnthn Right
11:26 jnthn Also the new affinity scheduling makes competition less likely
11:26 jnthn *contention
11:26 jnthn If it's for procs/sockets
11:26 * dogbert17 starts a 'MVM_SPESH_BLOCKING=1 make spectest'
11:26 jnthn There's some other neat things you can do now though
11:28 jnthn m: my $s = supply { my $done; until $done { emit $++ }; CLOSE { $done = True } }; react { whenever $s { .say } }
11:28 camelia rakudo-moar 3da62d: OUTPUT: «(timeout)»
11:29 jnthn Or maybe better
11:29 lizmat 14-15, 19-20   # jnthn, fails in t/spec/S32-io/IO-Socket-Async.t
11:29 jnthn my $s = supply { my $done; until $done { emit $++ }; CLOSE { $done = True } }; react { whenever $s { .say; done if $++ == 5 } }
11:29 lizmat jnthn: reliably so
11:29 jnthn Oh
11:29 jnthn Probably because those tests were put in without a MoarVM bump
11:29 timotimo is it the "get socket address" tests?
11:29 jnthn And they are testing the port number fix in MoarVM that was merged last night
11:30 lizmat perhaps.. I did do a reconfig, so, maybe we need a bump?
11:30 jnthn m: my $s = supply { my $done; until $done { emit $++ }; CLOSE { $done = True } }; react { whenever $s { .say; done if $++ == 5 } }
11:30 jnthn That's the one I meant
11:30 jnthn That now works
11:30 jnthn Before it would queue messages up forever
11:30 camelia rakudo-moar 3da62d: OUTPUT: «(timeout)»
11:30 lizmat jnthn: shall I do a bump ?
11:30 jnthn Now it prints 0 up to 5
11:30 jnthn lizmat: Yes, please do :)
11:30 timotimo hm, is that due to more than just backpressure?
11:31 jnthn timotimo: Yeah, that's 'cus we handle whenever differently now
11:31 Geth ¦ nqp: 59612c4229 | (Elizabeth Mattijsen)++ | tools/build/MOAR_REVISION
11:31 Geth ¦ nqp: Bump MOAR for latest async fixes
11:31 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/59612c4229
11:31 Geth ¦ nqp: version bump brought these changes: https://github.com/MoarVM/MoarVM/compare/2017.09.1-21-g523725a3... No newline at end of file
11:31 jnthn If the process of tapping something awaits, then we intercept it, take a continuation and then resume it after the lock is freed
11:33 timotimo OK, and now we await when there's too many things we've emitted
11:35 jnthn Yeah
11:35 timotimo that sounds good :)
11:36 jnthn hehe
11:36 jnthn $ ./perl6-m -e 'my $s = supply { my $done; until $done { emit "foo" }; CLOSE { $done = True } }; react { my $i = 0; whenever $s { $i++ }; whenever Promise.in(5) { say "Did $i emits in 5 seconds"; done } }'
11:36 jnthn Did 195981 emits in 5 seconds
11:37 jnthn m: my $s = supply { my $done; until $done { emit "foo" }; CLOSE { $done = True } }; react { my $i = 0; whenever $s { $i++ }; whenever Promise.in(5) { say "Did $i emits in 5 seconds"; done } }
11:37 camelia rakudo-moar 6646e3: OUTPUT: «Did 137035 emits in 5 seconds␤»
11:37 jnthn Oh, I guess it's bumped already :)
11:37 jnthn yeah :)
11:37 jnthn c: 2017.09 my $s = supply { my $done; until $done { emit "foo" }; CLOSE { $done = True } }; react { my $i = 0; whenever $s { $i++ }; whenever Promise.in(5) { say "Did $i emits in 5 seconds"; done } }
11:38 committable6 jnthn, ¦2017.09: ««timed out after 10 seconds» «exit signal = SIGHUP (1)»»
11:38 jnthn I need to add more tests :)
11:38 jnthn (To cover this new stuff)
11:38 jnthn But first, lunch :)
11:39 lizmat jnthn: confirm a bump fixes the test issues... running fill spectest now
11:56 dogbert17 I got some fails in t/spec/S32-io/IO-Socket-Async.t, wasn't there some changes done there a couple of hours ago
11:56 Geth ¦ rakudo/nom: d8890a8284 | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION
11:56 Geth ¦ rakudo/nom: Bump NQP to get the latest Moar async fixes
11:56 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d8890a8284
11:56 Geth ¦ rakudo/nom: version bump brought these changes: https://github.com/perl6/nqp/compare/2017.09-7-ga5f92f2fe... No newline at end of file
12:06 jdv79 jnthn: oops - thanks for that race fix
12:25 jnthn jdv79: np :)
12:25 timotimo when i need my race fix i play mario kart :P
12:35 eater timotimo: I'm mostly content with Need For Speed
12:38 |Tux| This is Rakudo version 2017.09-69-gd8890a828 built on MoarVM version 2017.09.1-36-gfbd89898
12:38 |Tux| csv-ip5xs        1.289 -  1.307
12:38 |Tux| test             9.549 -  9.580
12:38 |Tux| test-t           3.381 -  3.395
12:38 |Tux| csv-parser      12.133 - 12.146
12:39 timotimo eater: the original? personally i was a big fan of nfs2
12:39 eater timotimo: tbh, Porsche Unleashed / Porsche 2000
12:40 timotimo haven't heard of those
12:41 lizmat .speed
12:49 * TimToady just had S17-supply/syntax.t hang up while slowly chewing up gigs over a period of some minutes
12:50 timotimo after test 68?
12:50 timotimo that's also what i'm seeing
12:51 TimToady yeah, about there
12:55 jnthn After my merge, I presume?
12:55 timotimo i think so
12:55 jnthn :/
12:55 jnthn It's passed consistently here
12:55 timotimo yeah, after the merge
12:55 jnthn In a bunch of stresstest runs
12:55 dogbert17 ZOFFLOPS when using ASAN and MVM_SPESH_BLOCKING: t/spec/S02-literals/string-interpolation.t, t/spec/S17-promise/allof.t, t/spec/S17-supply/syntax.t and t/spec/S17-promise/basic.t
12:56 timotimo i'll try to golf a little
12:57 dogbert17 meh, ==18046== ERROR: AddressSanitizer failed to allocate 0x200000 (2097152) bytes of SizeClassAllocator32: Cannot allocate memory
12:58 dogbert17 in t/spec/S17-supply/syntax.t
12:58 dogbert17 #9 0xb5643498 in MVM_realloc /home/dogbert/repos/rakudo/nqp/MoarVM/src/core/alloc.h:20
12:58 dogbert17 #10 0xb5643498 in set_size_internal /home/dogbert/repos/rakudo/nqp/MoarVM/src/6model/reprs/VMArray.c:359
12:58 dogbert17 #11 0xb5643498 in push /home/dogbert/repos/rakudo/nqp/MoarVM/src/6model/reprs/VMArray.c:467
12:58 * dogbert17 afk &
12:59 timotimo i put a "say supply done" in front of the done inside the interval supply, and that gets executed a seemingly-random amount of times
13:02 dogbert17 the errors in t/spec/S17-promise/basic.t and t/spec/S17-promise/allof.t are the 'time sensitive' tests discussed the other day
13:02 skids joined #perl6-dev
13:02 timotimo jnthn: when i reduce the for loop outside the start block to 2, i get it working. maybe it's a thread pool exhaustion issue, but that doesn't explain to me why it would consume cpu resources
13:03 jnthn Me either
13:03 jnthn Curiously, syntax.t just failed in my current stresstest run
13:03 jnthn Though I've a couple of locally applied optimizations that I was testing
13:03 jnthn ah, and they seem to have other fallout too
13:03 jnthn So likely not the same issue
13:03 Zoffix buggable: speed
13:03 buggable Zoffix, ▂▂▃▁▂▂▇▃▃▃▃█▅↑▄▂▃▃▃▄▂▃▁▁▃▅▄▄↑█▃▃▂▃▂▁▂▂▂▂▁▁▂▂▁▄▂▂▁▁ dates: 2017-09-05–2017-09-22; range: 3.376s–4.237s; speed: 2% faster
13:03 Zoffix buggable: speed :4
13:03 buggable Zoffix,       ▆    ▇ ↑              ↑█                     dates: 2017-09-05–2017-09-22
13:03 buggable Zoffix,       █    █▃█           ▃  ██                     range: 3.376s–4.237s
13:03 buggable Zoffix,       █▃  ▄███▆ ▃▁ █ ▂  ▃█▆▄██▂▃ ▁           ▅     speed: 2% faster
13:03 buggable Zoffix, ▆▅▇▁▄▅██▇▇█████▆██▇█▆█▂▂████████▇█▄▃▅▇▃▆▃▃▇▅▃█▄▅▁▂
13:03 timotimo locally i have moar compiled with --optimize=0, if that makes a difference
13:04 TimToady I don't
13:04 timotimo perhaps there's an issue with the timer being too short? i'll try a higher number
13:05 timotimo weird!
13:05 Zoffix lizmat: ^ it's that command... `buggable: speed 42 :4`  `buggable: speed [show last N measurements only] :[show graph on 1..4 lines]`
13:05 timotimo i increased the number and got it to hang after a second, but after another two or three seconds it rushes through to the finish line
13:05 jnthn oh dammit, I know why the opt I thought of won't work :/
13:06 * jnthn scraps that
13:06 timotimo even weirder: when i increase the interval to 10 seconds it still finishes in under one
13:06 jnthn What test are you looking at?
13:06 timotimo does Supply.interval(10) immediately fire the first one? it shouldn't
13:06 jnthn Yes
13:06 timotimo oh, sorry, one sec
13:07 jnthn It fires right away, then after 10, 20, etc.
13:07 jnthn iirc there's a second arg to control how long until the first firing
13:07 timotimo https://github.com/perl6/roast/blob/master/S17-supply/syntax.t#L512
13:07 timotimo this is the one that hangs for me
13:07 jnthn Stresstesting again here
13:10 * jnthn sticks that one test in a loop
13:11 jnthn So far 50 iterations without trouble
13:11 timotimo maybe your computer is too fast :)
13:11 jnthn It's competing with a stresstest run
13:11 timotimo mhm
13:11 jnthn Maybe but...I'd figure that a stresstest run going on at the same time would sahke it out
13:12 timotimo i wonder if you can get it to freeze like we have it by adding more timers to the program
13:13 jnthn Dunno. It's almost at 400 iterations now without a problem
13:13 Geth ¦ rakudo/nom: 73aeee6ce7 | (Jonathan Worthington)++ | src/core/Supply.pm
13:13 Geth ¦ rakudo/nom: Avoid one lock acquire/release per `whenever`
13:13 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/73aeee6ce7
13:14 jnthn And now nearly 500
13:22 geekosaur joined #perl6-dev
13:25 timotimo i assume supply.interval isn't so happy when i stop the program in gdb?
13:25 timotimo would it try to catch up when i resume?
13:30 jnthn Mebbe, not sure
13:30 jnthn It's just passing on ticks that could from libuv
13:44 jnthn and so I presume that's suspended too
13:52 Geth ¦ rakudo/nom: 2a82623831 | (Jonathan Worthington)++ | src/core/Supply.pm
13:52 Geth ¦ rakudo/nom: Optimize creation of supply block state object
13:52 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2a82623831
13:52 Geth ¦ rakudo/nom: 3deda84224 | (Jonathan Worthington)++ | src/core/Supply.pm
13:52 Geth ¦ rakudo/nom: Avoid a closure per emit into a supply/react block
13:52 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3deda84224
14:33 geekosaur joined #perl6-dev
14:41 Geth ¦ rakudo/nom: f58ac99918 | (Jonathan Worthington)++ | 2 files
14:41 Geth ¦ rakudo/nom: Streamline async socket message Supply
14:41 Geth ¦ rakudo/nom:
14:41 Geth ¦ rakudo/nom: Implement the Tappable interface directly, rather than going through
14:41 Geth ¦ rakudo/nom: the `Supply.on-demand` machinery that adds extra safety checks and
14:41 Geth ¦ rakudo/nom: indirections. This boosts the number of requests per second in a
14:41 Geth ¦ rakudo/nom: simple Cro HTTP example by around 13%; for more direct users of
14:41 Geth ¦ rakudo/nom: IO::Socket::Async it will be more significant than that.
14:41 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f58ac99918
15:36 nine jnthn: a stress test in another terminal window may not slow down your test as much as you'd think. AFAIK the Linux scheduler puts processes that run with the same pseudo terminal in a scheduling group with the express purpose of having e.g. a kernel compilation now slow down your UI too much.
15:37 jnthn nine: Hm, interesting :)
15:37 jnthn Though I did note that it sped up a lot after the stresstest got done :)
15:37 Geth ¦ rakudo/nom: 40c2d0cd52 | (Jonathan Worthington)++ | 2 files
15:37 Geth ¦ rakudo/nom: Move socket reader tappable into socket class
15:37 Geth ¦ rakudo/nom:
15:37 Geth ¦ rakudo/nom: The initial idea was to share it with Proc::Async, but it turns out
15:37 Geth ¦ rakudo/nom: they're just different enough it's probably not worth it.
15:37 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/40c2d0cd52
15:37 Geth ¦ rakudo/nom: c46de00f0b | (Jonathan Worthington)++ | src/core/IO/Socket/Async.pm
15:37 Geth ¦ rakudo/nom: Optimize IO::Socket::Async.listen Supply
15:37 Geth ¦ rakudo/nom:
15:37 Geth ¦ rakudo/nom: Again, by avoiding Supply.on-demand and its various protections. Gives
15:37 Geth ¦ rakudo/nom: a performance boost to async socket servers; in Cro it amounts to ~4%
15:37 Geth ¦ rakudo/nom: more requests per second.
15:37 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c46de00f0b
15:54 jnthn Didn't yet manage to reproduce the issue, BTW. Will see if I can on my home machine over the weekend.
15:57 geekosaur joined #perl6-dev
15:59 astj joined #perl6-dev
16:01 nine Missing serialize REPR function for REPR MVMCode (BOOTCode)
16:01 nine Oh...that one. Why does this stuff have to be so complicated?
16:02 nine Some milliseconds really are harder earned than others...
16:08 travis-ci joined #perl6-dev
16:08 travis-ci Rakudo build failed. Jonathan Worthington 'Avoid a closure per emit into a supply/react block'
16:08 travis-ci https://travis-ci.org/rakudo/rakudo/builds/278628591 https://github.com/rakudo/rakudo/compare/73aeee6ce7bf...3deda842247f
16:08 travis-ci left #perl6-dev
16:08 buggable [travis build above] ☠ Did not recognize some failures. Check results manually.
16:11 geekosaur joined #perl6-dev
16:12 jnthn nine: Same with some RTs ;)
16:12 jnthn Righty, I'm off for a bit :)
16:23 samcv can we pass arrays to nativecall functions and how?
16:46 robertle joined #perl6-dev
16:47 AlexDaniel joined #perl6-dev
16:49 nine samcv: there's the CArray type
16:49 nine samcv: NativeCall is well documented on doc.perl6.org :)
16:50 AlexDaniel joined #perl6-dev
16:54 samcv thanks. i tried to point my friend to that, after checking it out myself
16:57 AlexDani` joined #perl6-dev
17:25 dogbert11 joined #perl6-dev
17:26 dogbert11 .tell jnthn wrt the failing syntax.t test, got this after several attempts: https://gist.github.com/dogbert17/d018b0f6f57f01f0726b6c0f734d0dbc
17:26 yoleaux dogbert11: I'll pass your message to jnthn.
17:49 [TuxCM] joined #perl6-dev
18:27 Zoffix So, $?USAGE.... it just gotta be compile time?
18:27 Zoffix (as opposed to being a run time thing)
18:29 jnthn The ? twigil means compile time, yeah
18:29 Zoffix Yeah, but I meant changing it to $*USAGE
18:29 jnthn Is that useful?
18:30 jnthn I mean, it's not like you'd really need to override it...I guess :)
18:30 jnthn And I'm not sure what'd bind it
18:30 * Zoffix thinks more about it
18:31 jnthn I guess my first pass at implementing it would be to keep track of if $?USAGE is mentioned, and if it is then install if in the UNIT scope
18:31 jnthn Though perhaps at the end of parsing so we get all the multi MAIN candidates
18:31 jnthn So if somebody writes it ahead of them all then it has all that it should
18:32 jnthn That'd not work out too well if somebody did constant foo = $?USAGE but, well, tough :)
18:33 Zoffix I have a patch that has it as Nil at compile time but proper message at run time. I just don't get what's supposed to happen with:   `BEGIN say $?USAGE; sub MAIN($a) {}` how can it have compile time value if MAIN wasn't compiled yet?
18:33 jnthn Yeah, that doesn't make so much sense
18:36 jnthn tbh it feels more like a subroutine than a variable...
18:36 jnthn I thought there even was a sub you could define to get custom usage messages
18:36 Zoffix Yeah, there is
18:36 jnthn m: sub MAIN($x) { }; sub USAGE() { "foo" }
18:36 camelia rakudo-moar c46de0: ( no output )
18:36 Zoffix m: sub MAIN($x) { }; sub USAGE() { "foo".say }
18:36 camelia rakudo-moar c46de0: OUTPUT: «foo␤»
18:36 jnthn m: sub MAIN($x, $y) { }; sub USAGE() { "foo" }
18:36 camelia rakudo-moar c46de0: ( no output )
18:37 jnthn Of, you have to say it yourself :/
18:37 jnthn m: sub MAIN($x, $y) { }; USAGE()
18:37 camelia rakudo-moar c46de0: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Undeclared name:␤    USAGE used at line 1␤␤»
18:37 jnthn Though I guess that's flexible too
18:37 Zoffix I think the usecase I noticed most common for people wanting $?USAGE is they just want to slightly alter the default message...
18:38 jnthn Right
18:38 Geth ¦ rakudo/userland-USAGE: bbedf18d3c | (Zoffix Znet)++ | src/core/Main.pm
18:38 Geth ¦ rakudo/userland-USAGE: Make $?USAGE available in userland
18:38 Geth ¦ rakudo/userland-USAGE:
18:38 Geth ¦ rakudo/userland-USAGE: - This patch makes $?USAGE available in userlange and its compile-time
18:38 Geth ¦ rakudo/userland-USAGE:     value is `Nil`. When MAIN_HELPER has been run, then its value
18:38 Geth ¦ rakudo/userland-USAGE:     is the default usage message
18:38 Geth ¦ rakudo/userland-USAGE: - The problem is `$?` signifies compile-time value, but what's meant
18:38 Geth ¦ rakudo/userland-USAGE:     to happen with `BEGIN say $?USAGE; sub MAIN($a) {}`? How can it
18:38 Geth ¦ rakudo/userland-USAGE: <…commit message has 5 more lines…>
18:38 Geth ¦ rakudo/userland-USAGE: review: https://github.com/rakudo/rakudo/commit/bbedf18d3c
18:40 Zoffix .in 8d so, what's happening with $?USAGE?
18:40 yoleaux Zoffix: I'll remind you on 30 Sep 2017 18:40Z
18:40 * Zoffix &
18:48 AlexDaniel joined #perl6-dev
18:51 perlpilot S06 says "If there is no C<USAGE> routine, a default message is printed to standard error." and "This usage message is automatically generated from the signature (or signatures) of C<MAIN>. This message is generated at compile time, and hence is available at any later time as C<$?USAGE>."  That implies (to me) that it's only available in $?USAGE *after* compile time and that *during* compile time, Nil should be fine.
18:53 perlpilot (but, perhaps there's an argument for building it piece-wise so that it's value is available during compile time as it's being built)
19:00 Zoffix As far as I can tell, it's currently it's generated at runtime.
19:02 Zoffix And I don't think it needs to be generated at compile time. Most cases of MAIN won't get precompiled, so whatever we do at compile time for this the user is paying for it on each run, and if the message is never printed, it's all wasted effort
19:10 astj joined #perl6-dev
19:24 perlpilot Zoffix: it would be very useful if $?USAGE were available in the USAGE sub for those that just want to tweak it rather than re-gen the whole thing.
19:24 Zoffix perlpilot: yeah, that's what my patch does
19:24 Zoffix sub USAGE is called at runtime
19:25 Zoffix committable6: help
19:25 committable6 Zoffix, Like this: committable6: f583f22,HEAD say ‘hello’; say ‘world’ # See wiki for more examples: https://github.com/perl6/whateverable/wiki/Committable
19:25 Zoffix c: bbedf18d3c say $?USAGE
19:25 committable6 Zoffix, ¦bbedf18: «Cannot find this revision (did you mean “8efffb1”?)»
19:25 perlpilot then I'd merge it if I were you (assuming there's no roast breakage)
19:26 Zoffix Hm, I thought there was a way to run a commit from a branch...
19:26 Zoffix But anyway `sub MAIN ($x) {}; sub USAGE { $?USAGE.uc.say }` prints default usage in uppercase
19:27 Zoffix perlpilot: ok, thanks :) I'll merge in a week unless someone has better ideas. Just kinda iffy for `$?` variable to not have a proper value at compile time.
19:27 Zoffix I guess the crux of my hesitation is that the variable is mis-named.
19:29 Zoffix S02 says "All $? variables are considered constants, and may not be modified after being compiled in."
19:30 Zoffix .oO( install a Proxy; hey, technically I'm not "modifying" any variables ^_^ )
19:33 perlpilot That negates any argument about a piece-wise $?USAGE during compile time as far as I'm concerned.   It sounds like $?VARS should be built once at some canonical time (the very end of compile time?)
19:34 Zoffix S02 says you can modify them at compile time
19:34 Zoffix But I don't get the usefulness of piece-wise making of $?USAGE; also there's a problem that we don't wanna pay for making it
19:36 Zoffix I'd just shove it into PROCESS:<$USAGE> from within MAIN_HELPER. Let it live in the bunch with $*KERNEL and stuff
19:43 Zoffix .ask TimToady S02 says $? vars must not be changed after compile time; that makes $?USAGE kinda iffy, since we run all the sub MAIN bits at runtime. I'm thinking of changing it to $*USAGE on Sept 30th. Thoughts? IRC discussion: https://irclog.perlgeek.de/perl6-dev/2017-09-22#i_15204296
19:43 yoleaux Zoffix: I'll pass your message to TimToady.
19:44 Zoffix .tell TimToady worth clarifying: currently $?USAGE isn't available to users (so the change won't be breaking any code)
19:44 yoleaux Zoffix: I'll pass your message to TimToady.
19:54 bartolin jnthn: i can't find a way to fix the issue with perl6-eval-server by moving the arguments to create-jvm-runner around. the evalserver starts, but once I run eval-client.pl I get a NoSuchFileException because it looks for BOOTSTRAP.jar below libdir
19:55 jnthn bartolin: Aww, too bad. Then it must be something else.
19:55 bartolin jnthn: the relevant line seems to be here: https://github.com/rakudo/rakudo/blob/c46de00f0b090588a3e7ec3463e702f230c5ed2f/src/Perl6/ModuleLoader.nqp#L52
19:56 bartolin falling back to blib/Perl6/BOOTSTRAP.jar 'works': https://gist.github.com/usev6/9a2fde23088b755914af263175641b4c (second comment)
19:57 bartolin maybe i'm missing an easy fix ...
20:33 Geth ¦ rakudo/nom: 17aead2759 | usev6++ | 4 files
20:33 Geth ¦ rakudo/nom: [jvm] Update requirement for jdk 1.8
20:33 Geth ¦ rakudo/nom:
20:33 Geth ¦ rakudo/nom: It's no longer possible to build NPQ with JDK 1.7, since
20:33 Geth ¦ rakudo/nom: nqp::codes requires Java8 (cmp. nqp commits de18e88970
20:33 Geth ¦ rakudo/nom: and 8d8bb5d3bc).
20:33 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/17aead2759
20:35 Geth ¦ nqp: cd588c17da | usev6++ | 2 files
20:35 Geth ¦ nqp: [jvm] Add note about requirement for jdk 1.8
20:35 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/cd588c17da
20:41 Ven`` joined #perl6-dev
21:10 gfldex jnthn: while siegeing the golfed httpd I got "MoarVM oops: Return label is NULL!"
21:10 gfldex stacktrace: https://gist.github.com/gfldex/8999a8bd5118faa5aaf0c0e6887ff08b
21:12 Geth ¦ rakudo/nom: ffd17990d0 | (Nick Logan)++ (committed using GitHub Web editor) | .travis.yml
21:12 Geth ¦ rakudo/nom: [jvm] Update requirement for jdk 1.8
21:12 Geth ¦ rakudo/nom:
21:12 Geth ¦ rakudo/nom: See: https://github.com/rakudo/rakudo/commit/17aead2759cf95ee95a24ea6a64c0a5b901428b0
21:12 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ffd17990d0
21:18 bartolin ah, missed that, ugexe++
21:55 astj joined #perl6-dev
21:57 gfldex jnthn: the evil RAMz eating monster seams to be banished tho
22:11 jnthn Well, I guess that's bad news and good news respectively :)
22:13 jnthn Will probably be Monday before I dig any further; quite tired from the week's supply guts hackery, and it's both national railway day *and* some food truck festival here tomorrow, so I figure I'll distract myself with at least one of those :)
22:26 thundergnat joined #perl6-dev
22:26 thundergnat seen samcv
22:26 thundergnat argh
22:30 thundergnat tell samcv I tried out that branch with the 'natural' number collation and was found things I would consider suspect if not completely wrong. Demo test script at https://gist.github.com/thundergnat/8a48575bbedfed8c4ed5297777e85874
22:31 thundergnat argh again.
22:31 geekosaur leading ,.
22:31 thundergnat .tell samcv I tried out that branch with the 'natural' number collation and was found things I would consider suspect if not completely wrong. Demo test script at https://gist.github.com/thundergnat/8a48575bbedfed8c4ed5297777e85874
22:31 yoleaux thundergnat: I'll pass your message to samcv.
22:31 geekosaur er .
22:31 geekosaur I can't type
22:31 samcv hey
22:31 yoleaux 22:31Z <thundergnat> samcv: I tried out that branch with the 'natural' number collation and was found things I would consider suspect if not completely wrong. Demo test script at https://gist.github.com/thundergnat/8a48575bbedfed8c4ed5297777e85874
22:31 thundergnat geekosaur, yeah you and me both. :)
22:31 samcv can you give me some of the output?
22:32 thundergnat sure, here or a gist?
22:33 samcv gist is fine. depends how long it is
22:33 thundergnat https://gist.github.com/thundergnat/87cd094030559edaefa6b4df5443e679
22:34 thundergnat Not ALL of that is suspect but a bunch of it is.
22:35 thundergnat first line is Sort::Naturally natural sort second is collate method in that gist ^^
22:38 samcv ok thank you
22:38 samcv would you mind making an issue on the moarvm issue tracker for feature request and link to both of those gists?
22:38 thundergnat Sure
22:39 samcv awesome :)
22:44 skids joined #perl6-dev
22:46 AlexDaniel joined #perl6-dev
23:24 Geth ¦ roast: skids++ created pull request #328: Add tests for RT#104980
23:24 Geth ¦ roast: review: https://github.com/perl6/roast/pull/328
23:24 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=104980
23:24 Geth ¦ roast: 49f2e05f05 | skids++ | S12-construction/BUILD.t
23:24 Geth ¦ roast: Add tests for RT#104980
23:24 Geth ¦ roast: review: https://github.com/perl6/roast/commit/49f2e05f05
23:24 Geth ¦ roast: d06b0a2308 | skids++ (committed using GitHub Web editor) | S12-construction/BUILD.t
23:24 Geth ¦ roast: Merge pull request #328 from skids/rt104980
23:24 Geth ¦ roast:
23:24 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=104980
23:24 Geth ¦ roast: Add tests for RT#104980
23:24 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=104980
23:24 Geth ¦ roast: review: https://github.com/perl6/roast/commit/d06b0a2308
23:44 travis-ci joined #perl6-dev
23:44 travis-ci Rakudo build errored. Nick Logan '[jvm] Update requirement for jdk 1.8
23:44 travis-ci https://travis-ci.org/rakudo/rakudo/builds/278783880 https://github.com/rakudo/rakudo/compare/17aead2759cf...ffd17990d013
23:44 travis-ci left #perl6-dev
23:44 buggable [travis build above] ☠ Did not recognize some failures. Check results manually.
23:49 Geth ¦ rakudo/nom: 7af339b91d | (Nick Logan)++ (committed using GitHub Web editor) | .travis.yml
23:49 Geth ¦ rakudo/nom: Use proper java 8 jdk package
23:49 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7af339b91d
23:50 Zoffix Travis error on all Linux builds only: E: Package 'openjdk-8-jdk' has no installation candidate
23:51 Zoffix ah fixed already
23:54 BenGoldberg joined #perl6-dev

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