Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2018-01-05

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:29 lizmat joined #moarvm
01:16 nativecallable6 joined #moarvm
01:16 releasable6 joined #moarvm
01:16 statisfiable6 joined #moarvm
01:17 unicodable6 joined #moarvm
01:17 quotable6 joined #moarvm
02:59 ilbot3 joined #moarvm
02:59 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
08:57 zakharyas joined #moarvm
08:58 zakharyas1 joined #moarvm
09:09 zakharyas joined #moarvm
09:16 zakharyas joined #moarvm
09:21 domidumont joined #moarvm
09:28 domidumont joined #moarvm
11:03 domidumont joined #moarvm
11:17 geekosaur joined #moarvm
11:32 lizmat if a JIT log says: "Cannot get template for: getcode"
11:32 lizmat is that good or bad ?
11:36 jnthn At a guess it means the expression JIT doesn't know about that op yet
11:37 lizmat and "BAIL: op <param_on_o>"
11:37 lizmat what's param_on_o ?
11:37 jnthn on = optional named
11:37 jnthn o = object register
11:38 lizmat ok, so that means we cannot JIT any sub/method that takes an optional named parameter ?
11:38 jnthn No
11:38 jnthn Most of the time, spesh rewrites param_* instructions into sp_ instructions
11:39 lizmat I was checking gfldex's note about DateTime being slow
11:39 jnthn Specializations are often keyed on callsite objects, meaning that when we specialize, we know if we're getting such an argument
11:39 lizmat and it turns out the real bottleneck is that new-from-positional and SET-SELF don't even get speshed, let alone JITted
11:40 jnthn So it specializes to either the default code or a fast op to directly read from the incoming args buffer without checking
11:40 jnthn And those cases JIT just fine
11:40 domidumont joined #moarvm
11:40 jnthn So there's a few possible things that could be happening
11:40 jnthn 1) There's something about the params otherwise that is too complex for spesh to deal with
11:41 jnthn 2) The function is megamorphic
11:41 jnthn 3) The function is called with flattening args
11:41 lizmat I guess it's the number of args
11:41 jnthn How many?
11:41 lizmat 9 and 8
11:42 lizmat I guess that's too many  :-)
11:42 jnthn src/spesh/args.c
11:42 jnthn #define MAX_POS_ARGS 8
11:42 jnthn /* Maximum number of named args we'll consider for optimization purposes. */
11:42 jnthn #define MAX_NAMED_ARGS 8
11:43 jnthn Maybe tweak those up to 16 :)
11:43 jnthn And see if it helps
11:43 jnthn (Can just go to your MoarVM directory, replace 8 with 16, and type make install, no need to rebuild NQP or Rakudo or to re-configure)
11:43 lizmat ack
11:43 lizmat will do
11:51 nine jnthn: what's the reason for having those limits in the first place?
11:51 jnthn Easier memory management
11:51 jnthn (Can just declare the array on the stack)
11:52 jnthn Plus a figuring that if you have that many args, then chances are this ain't all that hot path anyway :P
11:52 jnthn *params
11:53 nine Good guess... p5_call_method has exactly 8 arguments ;)
11:54 jnthn haha
11:54 jnthn The other thing that it really doesn't like at the moment is aliases
11:54 jnthn :foo(:$f)
12:01 lizmat setting it to 16 doesn't change the profile
12:02 jnthn OK, then it's probably something else
12:02 reportable6 joined #moarvm
12:03 jnthn lunch; bbl
12:20 MasterDuke joined #moarvm
12:37 lizmat jnthn: could it also be that some attributes live in a role?
12:52 jnthn No
12:52 jnthn Not for failing to rewrite args
12:53 lizmat ack
13:37 geekosaur joined #moarvm
13:49 zakharyas joined #moarvm
13:50 zakharyas1 joined #moarvm
13:55 geekosaur joined #moarvm
14:00 geekosaur joined #moarvm
14:11 geekosaur joined #moarvm
14:15 bart_ joined #moarvm
14:17 bart_ good * #moarvm
14:17 jnthn o/ brrt
14:17 brrt ohai jnthn
14:17 brrt long time no direct chat, i think :-)
14:20 jnthn Aye...I did a bit of travel, got flu, just about got rid of it for Christmas/New Year but still mostly rested then...slowly starting to get back to things a bit
14:20 geekosaur joined #moarvm
14:27 geekosaur joined #moarvm
14:30 geekosaur joined #moarvm
14:35 domidumont joined #moarvm
14:37 committable6 joined #moarvm
14:37 squashable6 joined #moarvm
14:43 geekosaur joined #moarvm
14:44 geekosaur joined #moarvm
14:52 domidumont joined #moarvm
14:56 domidumont joined #moarvm
14:56 domidumont joined #moarvm
15:06 domidumont joined #moarvm
15:07 domidumont joined #moarvm
15:19 domidumont joined #moarvm
15:20 domidumont1 joined #moarvm
15:22 geospeck joined #moarvm
15:23 domidumont joined #moarvm
15:45 domidumont joined #moarvm
16:02 dogbert17 joined #moarvm
16:34 [Coke] welcome back to the land of the breathing.
16:45 brrt joined #moarvm
17:02 dogbert17 is the following a well known problem or should I report it? https://gist.github.com/dogbert17/a7cb8eaf81dddebd31973efc2dc29c5f
17:07 geospeck joined #moarvm
17:22 bloatable6 joined #moarvm
17:22 coverable6 joined #moarvm
17:22 benchable6 joined #moarvm
17:39 bisectable6 joined #moarvm
17:48 harrow joined #moarvm
18:27 zakharyas joined #moarvm
18:37 geekosaur joined #moarvm
18:43 Geth ¦ MoarVM: dogbert17++ created pull request #776: Fix typo
18:43 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/pull/776
18:49 Geth ¦ MoarVM: 47769a5a77 | (Jan-Olof Hendig)++ | src/gc/orchestrate.c
18:49 Geth ¦ MoarVM: Fix typo
18:49 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/47769a5a77
18:49 Geth ¦ MoarVM: c2de234c4c | (Zoffix Znet)++ (committed using GitHub Web editor) | src/gc/orchestrate.c
18:49 Geth ¦ MoarVM: Merge pull request #776 from dogbert17/fix-typo
18:49 Geth ¦ MoarVM:
18:49 Geth ¦ MoarVM: Fix typo
18:49 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/c2de234c4c
18:49 geekosaur joined #moarvm
19:03 geospeck joined #moarvm
19:39 greppable6 joined #moarvm
20:59 evalable6 joined #moarvm
21:03 FROGGS joined #moarvm
21:52 Kaiepi joined #moarvm
22:04 nwc10 joined #moarvm
22:53 jnthn Fun (slightly irritated :)) read for those interested in the intersection of GC, concurrency primitives, and JIT: http://psy-lob-saw.blogspot.cz/2018/01/what-difference-jvm-makes.html
23:22 brrt joined #moarvm
23:52 Kaiepi joined #moarvm
23:54 Kaiepi joined #moarvm
23:56 Kaiepi joined #moarvm

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary