🦋 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.
timo it should only be like 20% more time spent starting up, or i guess maybe everything that's kind of "warming" up is a bit slower at the moment? 00:52
anyway, we'll "claw" that performance back :)
Geth nqp: 897c77cee5 | (Jonathan Worthington)++ | 2 files
Cache flat method tables on meta-objects

We produce these in the situation that a dispatch is going megamorphic and we want to handle that by doing a hash lookup on method names. In the case that there are also loads of types, we currently fill up the callsite cache with an entry per encountered type (this needs to be addressed). Once it fills, we'd end up recalculating this table over and over again. Further, even in the non-full cache case, we could calculate and install it at many sites, which is a waste of time and memory. Thus, calculate it once and share it among the various caches.
10:36
nqp: 58ff1987b2 | (Jonathan Worthington)++ | src/QRegex/NFA.nqp
Avoid duplicate lookups in NFA merging
[Tux] Rakudo v2021.09-228-gdd2b274fd (v6.d) on MoarVM 2021.09-585-gc33111fd6
csv-ip5xs1.373 - 1.386
csv-ip5xs-2015.713 - 15.733
csv-parser5.438 - 5.553
csv-test-xs-200.373 - 0.376
test7.950 - 8.112
test-t1.802 - 1.827
test-t --race1.089 - 1.126
test-t-2025.757 - 27.754
test-t-20 --race8.409 - 8.654
10:58
dogbert17 [Tux]: better but I have to admit that I was hoping for bigger improvements 11:05
[Tux] note that it is my home-box and that it is used for $work for the past two year with all the "work from home" COVID regulations. I bet the best timings ever were when I ran it from $work over ssh 13:59
Geth nqp/megamorphic-meth: d40dbcffa1 | (Jonathan Worthington)++ | t/moar/53-dispatch.t
Add tests for new dispatch mechanism features
15:24
nqp/megamorphic-meth: 8ed2961302 | (Jonathan Worthington)++ | 2 files
Dispatcher for type-megamorphic can/tryfindmethod
nqp/megamorphic-meth: 6bb1fe4547 | (Jonathan Worthington)++ | src/core/dispatchers.nqp
Dispatcher for type-megamorphic method dispatch
Geth rakudo: 38f6f8731e | (Jonathan Worthington)++ | src/vm/moar/dispatchers.nqp
Add missing guard on role punning optimization

We need to guard on the type of the role before we cache its pun at the callsite; it may not be a literal.
20:26
nqp/megamorphic-meth: 06eefa66aa | (Jonathan Worthington)++ | src/how/NQPClassHOW.nqp
Invalidate the cached all methods table on changes

Otherwise it may lack entries and lead to incorrect lookups in some cases.
20:29
Geth nqp/master: 5 commits pushed by (Jonathan Worthington)++ 21:54
Geth roast: vrurg++ created pull request #757:
New tests for signature-constrained parameters
22:27