🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | log inspection situation still under development | For MoarVM see #moarvm
Set by lizmat on 22 May 2021.
00:02 reportable6 left 00:04 reportable6 joined 01:34 bloatable6 left, committable6 left, notable6 left, linkable6 left, greppable6 left, squashable6 left, evalable6 left, reportable6 left, nativecallable6 left, benchable6 left, releasable6 left, shareable6 left, sourceable6 left, coverable6 left, bisectable6 left, tellable6 left, unicodable6 left, statisfiable6 left, quotable6 left 01:35 quotable6 joined, sourceable6 joined, bisectable6 joined, committable6 joined, unicodable6 joined, linkable6 joined, squashable6 joined, benchable6 joined, statisfiable6 joined 01:36 coverable6 joined, reportable6 joined, releasable6 joined, bloatable6 joined, evalable6 joined, notable6 joined 01:37 shareable6 joined, nativecallable6 joined 01:38 greppable6 joined, tellable6 joined
Geth rakudo: vrurg++ created pull request #4396:
Compile-time micro-optimization
01:38
02:17 frost joined 03:17 coverable6 left, squashable6 left, bisectable6 left, releasable6 left, greppable6 left, committable6 left, evalable6 left, quotable6 left, reportable6 left, sourceable6 left, notable6 left, shareable6 left, tellable6 left, bloatable6 left, linkable6 left, unicodable6 left, statisfiable6 left, nativecallable6 left, benchable6 left, reportable6 joined, notable6 joined, tellable6 joined 03:18 committable6 joined, shareable6 joined, linkable6 joined, releasable6 joined, benchable6 joined, statisfiable6 joined 03:19 bloatable6 joined, squashable6 joined, coverable6 joined, quotable6 joined, sourceable6 joined, nativecallable6 joined, bisectable6 joined, unicodable6 joined 03:20 greppable6 joined, evalable6 joined 04:34 squashable6 left, squashable6 joined 04:47 AlexDaniel left 04:48 AlexDaniel joined 06:04 reportable6 left 06:06 reportable6 joined 07:54 morayj joined 08:49 patrickb joined
Geth nqp: b3536580a9 | (Daniel Green)++ | src/NQP/Optimizer.nqp
Simplify loop in optimizer's incorporate_inner

I don't know why this splice was originally commented out and not used, but it works.
09:19
nqp: 668f3f23fe | MasterDuke17++ (committed using GitHub Web editor) | src/NQP/Optimizer.nqp
Merge pull request #725 from MasterDuke17/simplify_loop_in_optimizer_method_incorporate_inner

Simplify loop in optimizer's incorporate_inner
nqp: c765d51c8d | (Daniel Green)++ | src/core/Hash.nqp
Micro-optimize the sift_down sub in sorted_keys

Exit early if there are 0 to 2 keys to sort, also pull some variable declarations out of a loop to reduce the number of BOOTInts allocated.
nqp: b58cff0253 | MasterDuke17++ (committed using GitHub Web editor) | src/core/Hash.nqp
Merge pull request #726 from MasterDuke17/micro_optimize_sift_down

Micro-optimize the sift_down sub in sorted_keys
09:57 patrickb left 10:21 sena_kun joined 10:28 frost left 11:40 patrickb joined 11:55 morayj left 12:00 frost joined 12:03 reportable6 left 12:04 reportable6 joined 13:02 Xliff left 13:21 patrickb left
MasterDuke34 what causes indirect name lookups? 13:34
vrurg MasterDuke34: like self."$method"()? 13:36
MasterDuke34 hm, that's the same as ::()? 13:37
vrurg No, it only traverses MRO.
MasterDuke34 github.com/rakudo/rakudo/blob/mast...#L216-L279 is what i'm curious about 13:38
vrurg But then I don't really get your question.
13:39 morayj joined
vrurg I see it used in Actions and Ops. Gimme a sec... 13:39
term:sym<name> is using it. Doc phaser. require. Likely more, if you search by make_indirect_lookup method references. 13:42
MasterDuke34 gitlab.com/jjatria/raku-game-entit...ng-loops.t causes 22k calls to INDIRECT_NAME_LOOKUP 13:43
oh, ^name() perhaps 13:44
vrurg I'd rather suspect @components. .^name should only result in a method lookup. 13:47
jjatria is very interested in this 13:48
MasterDuke34 jjatria: do you need the gather/takes? those are pretty slow 13:49
btw, profiles show your short test file causing 850k deoptimizations, and the long one causing 300k deopts 13:51
jjatria No, I can do away with them. I wasn't aware they'd be a bottleneck
vrurg Last note and back to the main job. I think the most likely cause is token variable -> Actions method variable. 13:52
jjatria My optimisation game in Raku is weak, I was mostly focused on getting it to run, and then to get it to run fast enough. But if it can be faster, I'm very keen
14:00 sena_kun left 14:11 sena_kun joined 14:19 morayj left 14:31 frost left 16:33 japhb left 18:02 reportable6 left 18:05 reportable6 joined
Geth nqp: 8ae2bfb646 | (Elizabeth Mattijsen)++ | tools/templates/MOAR_REVISION
Bump MoarVM to get the latest fixes and performance improvements
19:04
rakudo: faec80449d | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION
Bump NQP to get latest NQP / MoarVM goodies
19:31
rakudo: 3b7fef2e7d | (Stefan Seifert)++ | 2 files
Speed up setup of NativeCall subs and reduce memory usage

When replacing a native sub's stub body with a generated one, we need to remove the scheduled fixups, lest they undo our replacement. The easiest way to do this is to just run the compiler thunk, which takes care of this after dynamic compilation. This however is a very expensive operation as it not only compiles that body but has to create setup code for the lexical scope. This makes ... (6 more lines)
19:33
rakudo: 9433d0f937 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 2 files
Merge pull request #4393 from rakudo/speed_up_native_call_setup

Speed up setup of NativeCall subs and reduce memory usage
19:36 patrickb joined 21:19 patrickb left
lizmat hmmm.. make spectest failed on 2 files, but these run fine by themselves 21:22
[Coke] we don't have modules.raku.org setup here with Geth, I guess. 21:28
21:31 linkable6 left 21:32 linkable6 joined 21:59 hankache joined
vrurg lizmat: I think they're flappers after all. 22:06
lizmat can't remember having these flap, though :-(
didn't flap when I bumped NQP either
vrurg It's just my experience. Most of the time if something fails when is ran in a bunch but not individually – try it 50+ times and it eventually reveal a problem. 22:11
22:15 hankache left
vrurg I just've pulled the master, t/spec/S17-supply/syntax-nonblocking-await.t fails under spectest. Trying it in a loop. 22:19
lizmat I've just reverted 3b7fef2e7de6bb915da0 locally, then will start a spectest run and look at the result tomorrow& 22:20
22:21 linkable6 left 22:23 linkable6 joined 22:55 sena_kun left 23:00 samcv left 23:03 samcv joined