|
Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_log/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm Set by Zoffix on 27 July 2018. |
|||
| Geth | rakudo: vrurg++ created pull request #2902: Fix for 'Missing or wrong version of dependency' |
00:14 | |
|
00:34
sivoais left,
sivoais joined,
Kaiepi joined
|
|||
| Kaiepi | aaaaalmost there with parallelizing feed operators | 00:34 | |
| i've got stuff like 1...* ==> map { $_ ** 2 } working | 00:35 | ||
| however 1...* ==> map { $_ ** 2 } ==> my @foo doesn't yet | |||
| ugexe | how do you decide how much parallelizing to do without arguments like race/hyper have? | 00:42 | |
| timotimo | ugexe: feeds have CSP semantics, which means every stage will have its own "worker" and they pass indvidual bits via channels | 00:43 | |
| i don't know if it's meant to have chunking | |||
| ugexe | oh its not already doing that? | ||
| timotimo | nope, they are currently not parallelized whatsoever | ||
| if they use "await" internally to fetch data from the Channel, then stages of the work pipeline can be suspended back to the thread pool when they're bored | 00:44 | ||
| though of course that could lead to a whole lot of suspending/resuming | |||
| ugexe | is it going to use `start { }`, or literally a worker thread | ||
| dedicated worker thread | |||
| timotimo | i personally would implement it with `start { }` | 00:45 | |
| ugexe | hopefully that speeds them up a bit | 00:50 | |
| timotimo | it'll still depend a lot on the work per element each stage has, i'd expect | 00:54 | |
| if you use it for things like "map { $_ ** 2 }" and the numbers are in the 64bit range ... yeah, no, that won't be faster :) | 00:55 | ||
| sleep time! | |||
| o/ | |||
| ugexe | why is it so slow vs .map though | ||
| timotimo | actually, what if you could get hyper semantics with feed syntax by putting "hyper" in front? | 00:57 | |
| well, 1..* ==> map { $_ ** 2 } ==> my @foo; will - if there is no batching, which maybe there should be - send every item from one thread, receive them in another, do the squaring, send it to the third one, which will receive and stash into @foo | 00:58 | ||
| ugexe | ==hyper> | ||
| timotimo | haha | ||
| Ā»==>Ā» | |||
| >>WHOOSH>> | |||
| ==GNDN== | 00:59 | ||
| MasterDuke | hm, if you do both --profile=foo.sql and --profile-filename=bar.json, which should win? | 01:06 | |
| jnthn, timotimo: updated github.com/perl6/nqp/pull/532. i'll merge tomorrow or this weekend if it looks fine | 01:43 | ||
|
02:26
squashable6 left
02:30
squashable6 joined,
ChanServ sets mode: +v squashable6
03:09
epony left
|
|||
| Kaiepi | using a Channel for the pipeline for EVALUATE-FEED is too slow | 03:25 | |
| using Supply.from-list(@stages).schedule-on($*SCHEDULER).serialize is MUCH faster | 03:26 | ||
|
03:43
epony joined
04:06
grayrider joined
05:22
ufobat__ left
|
|||
| Geth | rakudo/master: 5 commits pushed by (Vadim Belman)++ | 05:38 | |
|
05:59
squashable6 left
06:02
squashable6 joined,
ChanServ sets mode: +v squashable6
07:08
robertle joined
07:10
lizmat joined
07:20
lizmat left
|
|||
| jnthn | Kaiepi: But that makes a Supply that emits the blocks, not that funnels data between the blocks executing in parallel... | 08:27 | |
| Kaiepi | oh | 08:28 | |
| jnthn | But yeah, if you're going to have a set of parallel workers, well, you better have enough work to do to make the communication cost worth it | ||
| Kaiepi | with my @ <== map { $_ ** 2 } <== (1..100), the parallelized feed code is just as slow as the old code, but it gradually gets faster as you add more stages | 08:40 | |
| like my @ <== sort { $^a cmp $^b } <== grep { $_ %% 2 } <== map { $_ ** 2 } <== (1..100) is almost as fast as just using the regular method calls | 08:41 | ||
| there's one last thing i'm stuck on though | 08:42 | ||
| bastille% ./perl6 --ll-exception -e 'my @foo; my @ <== grep { $_ %% 2 } <== @foo <== map { $_ ** 2 } <== 1...*; say @foo[0..10]' | |||
| When invoking 10 '', provided outer frame 0xc17bc449ed8 (7 '<unit>') does not match expected static frame 0xc17bc44a360 (9 '') | |||
| jnthn | That means there's a closure-handling screw-up in the code-gen somewhere | 08:46 | |
| Will be a mistake in the QAST that gets produced | 08:47 | ||
| Presumably for the case of an intermediate variable | |||
| masak | Kaiepi: submit a bug report? | 08:55 | |
| Kaiepi | yeah jnthn it's for the intermediate call to RI.EVALUATE-FEED that gets made for @foo | ||
| masak this is a bug in a pullreq i'm working on, not on HEAD | 08:59 | ||
| masak | ok, nice | 09:42 | |
| Kaiepi | done parallelizing feed operators! | 10:04 | |
|
10:26
klapperl left
|
|||
| Geth | rakudo: Kaiepi++ created pull request #2903: Parallelize feed operators and support lazy lists |
10:31 | |
|
10:33
klapperl joined
10:38
brrt joined
11:08
brrt left
|
|||
| Geth | roast: Kaiepi++ created pull request #538: Update S03-feeds/basic.t with regards to parallelism and lazy lists |
11:20 | |
|
12:22
Guest5089 joined
12:52
brrt joined
13:05
MasterDuke left
13:34
skids joined
|
|||
| Geth | ¦ rakudo: vrurg self-assigned Rakudo no longer builds properly on OpenBSD github.com/rakudo/rakudo/issues/2904 | 13:45 | |
|
14:36
mornfall left
14:37
mornfall joined,
lizmat joined
14:40
lizmat_ joined
14:43
lizmat left
14:47
lizmat_ left
14:49
robertle left
14:58
brrt left
16:27
lizmat joined
16:29
lizmat left
16:30
lizmat joined
16:55
robertle joined
|
|||
| Geth | nqp: vrurg++ created pull request #539: Support for the latest changes in nqp-configure |
16:57 | |
| rakudo: vrurg++ created pull request #2906: Support for latest changes in nqp-configure |
16:58 | ||
|
17:17
a3f left
17:25
a3f joined
|
|||
| Geth | nqp: 03ded1c4f8 | (Vadim Belman)++ | 3 files Support for the latest changes in nqp-configure OpenBSD build and command line options handling improvements. |
17:41 | |
| nqp: 446765f35f | (Vadim Belman)++ (committed using GitHub Web editor) | 3 files Merge pull request #539 from vrurg/build-revamp OpenBSD build improvements |
|||
| vrurg | Can I somehow restart travis/appveyour on github for a PR without a new commit? | 17:57 | |
| ugexe | yes | 17:59 | |
| when viewing the test on e.g. travis-ci it should be an option towards the upper right (probably inside More Options) | 18:00 | ||
| actually its right *under* the More Options | 18:01 | ||
| it says "Restart Job" | |||
| vrurg | Not for me. Perhaps because I've no account there. | 18:02 | |
| ugexe | you can login with github | ||
| the green button in the upper right should say something like that | 18:03 | ||
| vrurg | We might be meaning differernt systems. I'm on appveyor now. | 18:04 | |
| It only allows me to download the log. | 18:05 | ||
| ugexe | appveyor allows logging in with github as well | 18:06 | |
| vrurg | That's what I've done. But can't see a restart option. | 18:07 | |
| Ok, will find out later, have other things to do now. Thanks! | |||
| ugexe | want me to retstart it? | ||
| im able to see the restart button... unsure why you cannot though | |||
|
18:12
vrurg left
18:13
vrurg joined
|
|||
| vrurg | ugexe: Yes, restart please! R#2906 | 18:14 | |
| synopsebot | R#2906 [open]: github.com/rakudo/rakudo/pull/2906 Support for latest changes in nqp-configure | ||
| ugexe | restarted | 18:19 | |
|
19:31
lizmat left
19:41
scovit left
|
|||
| Kaiepi | i feel like the way i wrote the qast half of feed operator parallelization is kinda hacky | 19:44 | |
| rather than creating a rakudo array and pushing the callbacks onto that, how would i go about creating the qast nodes representing the callbacks to pass instead? | |||
|
19:48
scovit joined
|
|||
| Kaiepi | for instance i want to take a node like this hastebin.com/acegihasuy.rb , push an extra argument onto it, and wrap it with a node representing the callback that takes that extra argument as its sole argument | 19:49 | |
| is that possible? | 19:50 | ||
| jnthn | That's the make_thunk thing I was talking about yesterday, I think | 20:00 | |
| make_thunk_ref, it seems | |||
| Gives you a Code you can pass that wraps the lot | |||
| But wouldn't you want a signature? | |||
| That takes the array? | 20:01 | ||
| Um, source is perhaps a better word | |||
| Kaiepi | it's not necessarily an array | 20:33 | |
|
21:03
skids left
22:20
MasterDuke joined,
MasterDuke left,
MasterDuke joined
|
|||
| MasterDuke | jnthn: if you've got a free min or two does github.com/perl6/nqp/pull/532 look like it'll work for comma? | 22:33 | |
| jnthn | MasterDuke: I might say "in a future Rakudo release" rather than "the next one" to give us a little room | 22:55 | |
| MasterDuke: I*think it'll work | 22:56 | ||
| *I think | 22:57 | ||