00:11
sena_kun joined
00:13
Altai-man left
00:29
Summertime left
00:34
Summertime joined
00:46
maggotbrain left
00:47
sena_kun left
01:55
evalable6 left,
nativecallable6 left,
sourceable6 left,
squashable6 left,
coverable6 left,
benchable6 left,
notable6 left,
statisfiable6 left,
bisectable6 left,
linkable6 left,
greppable6 left,
unicodable6 left,
quotable6 left,
releasable6 left,
tellable6 left,
shareable6 left,
committable6 left,
bloatable6 left
01:56
notable6 joined,
benchable6 joined,
unicodable6 joined,
greppable6 joined,
nativecallable6 joined,
quotable6 joined,
statisfiable6 joined
01:57
sourceable6 joined,
bloatable6 joined,
coverable6 joined,
releasable6 joined,
linkable6 joined,
bisectable6 joined,
shareable6 joined
01:58
evalable6 joined,
squashable6 joined,
committable6 joined
01:59
tellable6 joined
03:35
coverable6 left,
squashable6 left,
greppable6 left,
unicodable6 left,
evalable6 left,
linkable6 left,
bloatable6 left,
nativecallable6 left,
benchable6 left,
shareable6 left,
bisectable6 left,
committable6 left,
statisfiable6 left,
tellable6 left,
releasable6 left,
notable6 left,
sourceable6 left,
quotable6 left,
squashable6 joined,
bloatable6 joined,
releasable6 joined,
committable6 joined,
linkable6 joined
03:36
benchable6 joined,
unicodable6 joined,
tellable6 joined,
quotable6 joined,
statisfiable6 joined,
greppable6 joined
03:37
bisectable6 joined,
sourceable6 joined,
nativecallable6 joined,
coverable6 joined,
evalable6 joined
03:38
shareable6 joined,
notable6 joined
05:18
greppable6 left,
committable6 left,
nativecallable6 left,
shareable6 left,
statisfiable6 left,
tellable6 left,
benchable6 left,
squashable6 left,
sourceable6 left,
notable6 left,
evalable6 left,
releasable6 left,
bloatable6 left,
bisectable6 left,
quotable6 left,
unicodable6 left,
linkable6 left,
coverable6 left,
notable6 joined,
unicodable6 joined,
squashable6 joined
05:19
committable6 joined,
releasable6 joined,
nativecallable6 joined,
greppable6 joined,
evalable6 joined
05:20
sourceable6 joined,
shareable6 joined,
bisectable6 joined,
benchable6 joined,
bloatable6 joined,
statisfiable6 joined,
linkable6 joined
05:21
quotable6 joined,
tellable6 joined,
coverable6 joined
05:49
frost-lab joined
06:33
sena_kun joined
08:10
Altai-man joined
08:13
sena_kun left
08:15
raku-bridge left,
raku-bridge joined
|
|||||||||||||||||||||||||||||||||||||||
Geth_ | nqp: 3f1dcfe874 | Altai-man++ | tools/templates/MOAR_REVISION [MoarVM Bump] Brings 2 commits MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...g76ea45804 76ea45804 Merge pull request #1380 from MoarVM/serialize-cstr 3c5deb2f6 Implement serialize/deserialize of CStr REPR |
08:19 | |||||||||||||||||||||||||||||||||||||
rakudo: 06b01c9191 | Altai-man++ | tools/templates/NQP_REVISION [NQP Bump] 3f1dcfe87 [MoarVM Bump] Brings 2 co […] NQP bump brought: github.com/perl6/nqp/compare/2020....g3f1dcfe87 |
|||||||||||||||||||||||||||||||||||||||
09:36
TreyHarris left
|
|||||||||||||||||||||||||||||||||||||||
Altai-man | releasable6, status | 09:58 | |||||||||||||||||||||||||||||||||||||
releasable6 | Altai-man, Next release in ≈9 hours. 1 blocker. 0 out of 144 commits logged | ||||||||||||||||||||||||||||||||||||||
Altai-man, Details: gist.github.com/aa576130c048cfc326...2a75d40742 | |||||||||||||||||||||||||||||||||||||||
nwc10 | good *, #raku-dev | 10:09 | |||||||||||||||||||||||||||||||||||||
Altai-man | o/ | 10:12 | |||||||||||||||||||||||||||||||||||||
nwc10 | \o | 10:13 | |||||||||||||||||||||||||||||||||||||
Altai-man | This month's release is very juicy... | 10:26 | |||||||||||||||||||||||||||||||||||||
releasable6, status | |||||||||||||||||||||||||||||||||||||||
releasable6 | Altai-man, Next release in ≈8 hours. 1 blocker. 28 out of 144 commits logged | 10:27 | |||||||||||||||||||||||||||||||||||||
Altai-man, Details: gist.github.com/0a1eb68d3b960cce61...907cbfd986 | |||||||||||||||||||||||||||||||||||||||
Altai-man | releasable6, say Array::ShapedArray | 10:29 | |||||||||||||||||||||||||||||||||||||
releasable6 | Altai-man, I cannot recognize this command. See wiki for some examples: github.com/Raku/whateverable/wiki/Releasable | ||||||||||||||||||||||||||||||||||||||
Altai-man | c: say Array::ShapedArray | ||||||||||||||||||||||||||||||||||||||
committable6 | Altai-man, Seems like you forgot to specify a revision (will use “v6.c” instead of “say”) | ||||||||||||||||||||||||||||||||||||||
Altai-man | c: Array::ShapedArray.say | ||||||||||||||||||||||||||||||||||||||
committable6 | Altai-man, I cannot recognize this command. See wiki for some examples: github.com/Raku/whateverable/wiki/Committable | ||||||||||||||||||||||||||||||||||||||
Altai-man | c: v6.c Array::ShapedArray.say | ||||||||||||||||||||||||||||||||||||||
committable6 | Altai-man, gist.github.com/45d072dc088173ac06...efb233d450 | ||||||||||||||||||||||||||||||||||||||
Altai-man, gist.github.com/bb12f5c2b56693c03e...becef6beaf | |||||||||||||||||||||||||||||||||||||||
MasterDuke | Altai-man: iirc, it was renamed to Array::Shaped | 10:31 | |||||||||||||||||||||||||||||||||||||
m: say Array::ShapedArray; say Array::Shaped | |||||||||||||||||||||||||||||||||||||||
camelia | Could not find symbol '&ShapedArray' in 'Array' in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
MasterDuke | m: say Array::Shaped | ||||||||||||||||||||||||||||||||||||||
camelia | (Shaped) | ||||||||||||||||||||||||||||||||||||||
Altai-man | MasterDuke, I am just documenting `Expose Array::Shaped1|2|3Array roles [532b5423]` and trying to get how exactly "exposed" that is... | ||||||||||||||||||||||||||||||||||||||
Is it "Internal" or "Additions" for the release. :) | |||||||||||||||||||||||||||||||||||||||
MasterDuke | those are my scoped i believe, so internal | 10:32 | |||||||||||||||||||||||||||||||||||||
Altai-man | MasterDuke, those commits remove `my` scoping, that's the thing. :) | ||||||||||||||||||||||||||||||||||||||
Anyway, marked as Internal. | |||||||||||||||||||||||||||||||||||||||
1086 out of 1553 modules processed | 10:33 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | oh, maybe i'm a little behind HEAD | ||||||||||||||||||||||||||||||||||||||
Altai-man | Blin is much faster than me writing a changelog with so many things, so kudos to all who contributed. | ||||||||||||||||||||||||||||||||||||||
10:38
raku-bridge left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel` | is that with Pakku? | 10:38 | |||||||||||||||||||||||||||||||||||||
10:38
raku-bridge joined,
raku-bridge left,
raku-bridge joined
|
|||||||||||||||||||||||||||||||||||||||
Altai-man | AlexDaniel`, with zef. | 10:38 | |||||||||||||||||||||||||||||||||||||
I did some extensive testing with Pakku last weeks, but for releasing prefer the usual route. | 10:39 | ||||||||||||||||||||||||||||||||||||||
releasable6, status | 11:07 | ||||||||||||||||||||||||||||||||||||||
releasable6 | Altai-man, Next release in ≈7 hours. 1 blocker. 107 out of 144 commits logged | ||||||||||||||||||||||||||||||||||||||
Altai-man, Details: gist.github.com/41e94faaeeb87f6985...647db1f905 | |||||||||||||||||||||||||||||||||||||||
11:09
domidumont joined
|
|||||||||||||||||||||||||||||||||||||||
Altai-man | releasable6, status | 11:19 | |||||||||||||||||||||||||||||||||||||
releasable6 | Altai-man, Next release in ≈7 hours. 1 blocker. 144 out of 144 commits logged | ||||||||||||||||||||||||||||||||||||||
Altai-man, Details: gist.github.com/53d2aa0d39aa4085ef...f9e407c3ab | |||||||||||||||||||||||||||||||||||||||
11:58
frost-lab left
12:12
sena_kun joined
12:13
Altai-man left
|
|||||||||||||||||||||||||||||||||||||||
Geth_ | roast/6.c-errata: 66b56f702c | Altai-man++ | S32-exceptions/misc.t Binding to hash/array slices is now possible |
12:46 | |||||||||||||||||||||||||||||||||||||
rakudo/release-2020.11: 3805f7bf22 | Altai-man++ | 3 files Update changelog + announcement Deliberately not logged: 78b03b6 f4b38a1 7176cbc b129f31 23f67fe 5552434 5ee3d53 06b01c9 746c599 41d8956 084b92a 9be9a5c 42c4c1e 2fe6420 46477cd 2a5dd9e 1f090e0 9070d5c 6ed8891 fb32d0c 9976cab 8310690 e074f3c 6f31494 5f0da2b ebc9517 fb60e48 32230aa 6542f10 d3acd86 c54193e f6a33b8 44d037d |
12:57 | ||||||||||||||||||||||||||||||||||||||
rakudo: Altai-man++ created pull request #4053: Release 2020.11 |
12:58 | ||||||||||||||||||||||||||||||||||||||
sena_kun | No. | ||||||||||||||||||||||||||||||||||||||
NO NO NO. | |||||||||||||||||||||||||||||||||||||||
NMAKE : fatal error U1073: don't know how to make 'gen/nqp-version' | 12:59 | ||||||||||||||||||||||||||||||||||||||
Sigh. | 13:00 | ||||||||||||||||||||||||||||||||||||||
Geth_ | nqp: 689982a3d6 | Altai-man++ | tools/templates/MOAR_REVISION [release] Bump MoarVM revision to 2020.11 |
13:43 | |||||||||||||||||||||||||||||||||||||
nqp: 46dc8f503c | Altai-man++ | VERSION [release] Bump VERSION to 2020.11 |
|||||||||||||||||||||||||||||||||||||||
rakudo/release-2020.11: 957935a29e | Altai-man++ | tools/templates/NQP_REVISION [release] Bump NQP revision to 2020.11 |
13:44 | ||||||||||||||||||||||||||||||||||||||
rakudo/release-2020.11: 34faae566b | Altai-man++ | VERSION [release] Bump VERSION to 2020.11 |
|||||||||||||||||||||||||||||||||||||||
rakudo/master: 4 commits pushed by Altai-man++ | 13:46 | ||||||||||||||||||||||||||||||||||||||
rakudo: a3755971af | (Elizabeth Mattijsen)++ | docs/announce/2020.11.md Fix spello in announcement |
13:57 | ||||||||||||||||||||||||||||||||||||||
lizmat | sena_kun++ # yet another Rakudo Compiler release! | 13:58 | |||||||||||||||||||||||||||||||||||||
sena_kun | Dammit. | ||||||||||||||||||||||||||||||||||||||
lizmat | sena_kun: no worries :-) | ||||||||||||||||||||||||||||||||||||||
sena_kun | That's really unfortunate, it's like the largest thing introduced, it's the first line people will read... | 13:59 | |||||||||||||||||||||||||||||||||||||
lizmat | shit happens... I will link to the updated announcement in the RWN, so it won't be that bad there :-) | 14:00 | |||||||||||||||||||||||||||||||||||||
Geth_ | rakudo: 4ac0f73736 | (Peter du Marchie van Voorthuysen)++ | src/core.c/array_operators.pm6 Optimize some array operators Raw slurpies are more efficient. |
14:01 | |||||||||||||||||||||||||||||||||||||
rakudo: 1cd8765e69 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/array_operators.pm6 Merge pull request #4050 from dumarchie/array_operators Optimize some array operators |
|||||||||||||||||||||||||||||||||||||||
sena_kun | lizmat, the URL in tweet points to master, so the typo fix is already there. It's Changelog packed in the sources for this release affected, but hopefully people don't read it that much, I suspect. | 14:06 | |||||||||||||||||||||||||||||||||||||
sena_kun afk | |||||||||||||||||||||||||||||||||||||||
Geth_ | Blin: hythm7++ created pull request #28: Change Pakku verbosity level from trace to info |
14:10 | |||||||||||||||||||||||||||||||||||||
rakudo: 484f870c87 | (Peter du Marchie van Voorthuysen)++ | src/core.c/atomicops.pm6 Make cas($target, &code) ~10% faster |
14:28 | ||||||||||||||||||||||||||||||||||||||
rakudo: 96ab6eba55 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/atomicops.pm6 Merge pull request #4042 from dumarchie/cas Make cas($target, &code) ~17% faster |
|||||||||||||||||||||||||||||||||||||||
bartolin | sena_kun++ | 14:32 | |||||||||||||||||||||||||||||||||||||
14:45
lucasb joined
|
|||||||||||||||||||||||||||||||||||||||
Geth_ | rakudo: 534cc543b8 | (Ben Davies)++ | src/core.c/IO/Socket/INET.pm6 Type IO::Socket::INET family/type/protocol values This changes the type of IO::Socket::INET.new's :$family parameter from Int to ProtocolFamily:D(Int:D) (removing their invalid Int:U typing) and gives the class' $!family/$!type/$!proto attributes explicit ProtocolFamily:D/SocketType:D/ProtocolType:D typings (meaning they no longer accept raw Int:D values corresponding to those types' enum values). |
15:17 | |||||||||||||||||||||||||||||||||||||
rakudo: f7ab4f508a | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/IO/Socket/INET.pm6 Merge pull request #4047 from Kaiepi/io-socket-inet-enums Type IO::Socket::INET family/type/protocol values |
|||||||||||||||||||||||||||||||||||||||
roast: be962b7d35 | (Ben Davies)++ | S32-io/IO-Socket-INET.t Add a test for invalid Int:D families given to IO::Socket::INET.new My first attempt at github.com/rakudo/rakudo/pull/4047 typed families as ProtocolFamily(Int:D). This passed Roast despite making the method accept invalid Int:D values. |
|||||||||||||||||||||||||||||||||||||||
roast: ee0cc1da22 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | S32-io/IO-Socket-INET.t Merge pull request #702 from Kaiepi/io-socket-inet-enums Add a test for invalid Int:D families for IO::Socket::INET.new |
|||||||||||||||||||||||||||||||||||||||
rakudo: f2ea0a65b3 | (Elizabeth Mattijsen)++ | 2 files Allow for a contentless spurt To give "touch" like capability. This can already be achieved by explicitely specifying "", so maybe we should emphasize that in the documentation instead. |
15:19 | ||||||||||||||||||||||||||||||||||||||
rakudo: 737560e88e | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 2 files Merge pull request #4032 from rakudo/empty-spurt Allow for a contentless spurt |
15:20 | ||||||||||||||||||||||||||||||||||||||
Blin: 2df623e862 | (Haytham Elganiny)++ | lib/Blin/Tester/Pakku.rakumod Change Pakku verbosity level from trace to info |
15:23 | ||||||||||||||||||||||||||||||||||||||
Blin: 99e3335fa9 | Altai-man++ (committed using GitHub Web editor) | lib/Blin/Tester/Pakku.rakumod Merge pull request #28 from hythm7/master Change Pakku verbosity level from trace to info |
|||||||||||||||||||||||||||||||||||||||
dogbert17 is trying to pinpoint a perf regression | 15:27 | ||||||||||||||||||||||||||||||||||||||
sena_kun | Ouch. | 15:29 | |||||||||||||||||||||||||||||||||||||
Ouch-ouch. | |||||||||||||||||||||||||||||||||||||||
dogbert17, is it bad? | 15:30 | ||||||||||||||||||||||||||||||||||||||
I did not spot any _serious_ issues with stage PARSE or with spec/stresstest. | |||||||||||||||||||||||||||||||||||||||
dogbert17 | sena_kun: i have one script which is between 25-30 percent slower that 2020.10 | 15:32 | |||||||||||||||||||||||||||||||||||||
I belive that the regression is relatively recent though | 15:33 | ||||||||||||||||||||||||||||||||||||||
lizmat | dogbert17: please golf :-) | 15:34 | |||||||||||||||||||||||||||||||||||||
dogbert17 | trying to find the offending commit atm | 15:36 | |||||||||||||||||||||||||||||||||||||
here's the script, perhaps something jump out: gist.github.com/dogbert17/1864d402...9defbc1fc0 | 15:37 | ||||||||||||||||||||||||||||||||||||||
sena_kun | Something related to native ints, but I thought we optimized those... | 15:38 | |||||||||||||||||||||||||||||||||||||
dogbert17 | I belive one optimization was removed before release | ||||||||||||||||||||||||||||||||||||||
*believe | |||||||||||||||||||||||||||||||||||||||
lizmat | I don't think I did anything to native arrays, just to native *1dim shaped* arrays ? | 15:41 | |||||||||||||||||||||||||||||||||||||
Geth_ | rakudo: bd5eba4b60 | (Elizabeth Mattijsen)++ | src/core.c/Main.pm6 Introduce %*SUB-MAIN-OPTS<coerce-allomorphs-to> This new SUB-MAIN-OPTS setting allows one to specify how allomorphs should be coerced **prior** to being dispatched. So suppose you have a sub MAIN: sub MAIN(Int:D $value) { ... (15 more lines) |
15:45 | |||||||||||||||||||||||||||||||||||||
rakudo: 49eecd68c5 | (Elizabeth Mattijsen)++ | src/core.c/Main.pm6 Simplify coercer setting MasterDuke++ for keeping nudging |
|||||||||||||||||||||||||||||||||||||||
rakudo: 2e33736541 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/Main.pm6 Merge pull request #4005 from rakudo/coerce-allomorphs-to Introduce %*SUB-MAIN-OPTS<coerce-allomorphs-to> |
|||||||||||||||||||||||||||||||||||||||
rakudo: 87fc041f3c | (Elizabeth Mattijsen)++ | src/core.c/Iterator.pm6 Add Iterator.deterministic method By default, this will return True, but it should return False for iterators that produce values in a non-determnistic way, such as iterators that operate on hashes. Why do we need this? While working on the full implementation of ... (22 more lines) |
15:47 | ||||||||||||||||||||||||||||||||||||||
rakudo: b83b1b3469 | (Elizabeth Mattijsen)++ | src/core.c/Iterator.pm6 Add missing word, MasterDuke++ |
|||||||||||||||||||||||||||||||||||||||
rakudo: 1aff2ad229 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/Iterator.pm6 Merge pull request #3963 from rakudo/iterator-deterministic Add Iterator.deterministic method |
|||||||||||||||||||||||||||||||||||||||
rakudo: a0a8a51533 | (Daniel Mita)++ | lib/Pod/To/Text.rakumod Improve output of Attribute with Pod::To::Text |
15:51 | ||||||||||||||||||||||||||||||||||||||
rakudo: b93d9b3f5a | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | lib/Pod/To/Text.rakumod Merge pull request #4029 from mienaikage/pod-text-attribute Improve output of Attribute with Pod::To::Text |
|||||||||||||||||||||||||||||||||||||||
sena_kun | lizmat, please delete the branch in github.com/rakudo/rakudo/pull/3963 if it's not needed anymore. | 16:03 | |||||||||||||||||||||||||||||||||||||
Same for github.com/rakudo/rakudo/pull/4005 | |||||||||||||||||||||||||||||||||||||||
lizmat | done | 16:10 | |||||||||||||||||||||||||||||||||||||
16:10
Altai-man joined
16:13
sena_kun left
|
|||||||||||||||||||||||||||||||||||||||
dogbert17 | heh, it seems to be 1f090e04dcd4ed | 16:43 | |||||||||||||||||||||||||||||||||||||
linkable6 | (2020-11-15) github.com/rakudo/rakudo/commit/1f090e04dc Merge pull request #3891 from vrurg/raku_1285 | ||||||||||||||||||||||||||||||||||||||
[Tux] |
|
16:45 | |||||||||||||||||||||||||||||||||||||
lizmat | dogbert17 yeah, so the test-t slowdown was no fluke, and probably the spectest slowdown neither | 16:58 | |||||||||||||||||||||||||||||||||||||
17:00
melezhik joined
|
|||||||||||||||||||||||||||||||||||||||
melezhik | I run slowdown test on RP for head and 2020.10 - rakudist.raku.org/sparky/report/RakuPlay-1/1424 rakudist.raku.org/sparky/report/RakuPlay-1/1423 | 17:02 | |||||||||||||||||||||||||||||||||||||
11 sec VS 7 sec | |||||||||||||||||||||||||||||||||||||||
in average | |||||||||||||||||||||||||||||||||||||||
Geth_ | nqp: usev6++ created pull request #683: [JVM] Align behaviour for NQP hash to MoarVM |
17:12 | |||||||||||||||||||||||||||||||||||||
lizmat | @melezhik: would it be hard to produce a --profile of a rakuplay run? | 17:14 | |||||||||||||||||||||||||||||||||||||
that would be *really* interesting in this case | |||||||||||||||||||||||||||||||||||||||
17:17
tailgate left
|
|||||||||||||||||||||||||||||||||||||||
Geth_ | rakudo: b63c0e02cf | (Elizabeth Mattijsen)++ | 11 files Add "deterministic" info to many iterators A recap: when an iterator.deterministic call returns False, it means that the iterator may not produce the same values, or not in the same order, given the same initial condition. This specifically applies to iterators running on hashes at some level, and iterators that create a random selection on a set of values. This commit also covers iterators that run off of other iterators. Although the more complicated ones are not covered in this commit. |
17:28 | |||||||||||||||||||||||||||||||||||||
dogbert17 | looking at a profile and comparing differences between old (fast) and new (slow) one thing which stands out is slip-all (SETTING::src/core.c/Rakudo/SlippyIterator.pm6:49) | 17:45 | |||||||||||||||||||||||||||||||||||||
both versions have 1851068 entries but in the old version that code is jitted and that is not the case with the new version | 17:46 | ||||||||||||||||||||||||||||||||||||||
Geth_ | roast: 5071b526d5 | (Elizabeth Mattijsen)++ | spectest.data Add multislice.6e tests to spectest Sadly, these were forgotten, causing a small regression about to be fixed |
17:47 | |||||||||||||||||||||||||||||||||||||
dogbert17 | the new version also allocates 1851073 BOOTContexts (SETTING::src/core.c/Rakudo/SlippyIterator.pm6:49) while the old version allocates none | 17:48 | |||||||||||||||||||||||||||||||||||||
the difference in GC is old = 42, new = 158 | 17:49 | ||||||||||||||||||||||||||||||||||||||
Geth_ | rakudo: c37a88e857 | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/Iterator.pm6 BOOTiters don't have a deterministic method And when they're running off a hash, there are *always* non-deterministic. Not caught before because the multislice.6e tests were not being run yet :-( |
||||||||||||||||||||||||||||||||||||||
rakudo: 96285afb6c | (Elizabeth Mattijsen)++ | src/core.e/hash_multislice.pm6 Use deterministic method in multi array slicing |
|||||||||||||||||||||||||||||||||||||||
lizmat | dogbert17: turning slipall into an only, does not fix it | 17:55 | |||||||||||||||||||||||||||||||||||||
so I can only assume that typechecking the Slip is the cause | |||||||||||||||||||||||||||||||||||||||
lizmat tries something else | 17:56 | ||||||||||||||||||||||||||||||||||||||
dogbert17 | lizmat++ | 17:57 | |||||||||||||||||||||||||||||||||||||
lizmat | yeah, that makes things worse | 17:58 | |||||||||||||||||||||||||||||||||||||
lizmat tries something else again | 18:00 | ||||||||||||||||||||||||||||||||||||||
18:01
domidumont left
|
|||||||||||||||||||||||||||||||||||||||
lizmat | making it an only without Slip:D check, does not make it better | 18:02 | |||||||||||||||||||||||||||||||||||||
dogbert17: what is current way to find out why something was not JITted? | |||||||||||||||||||||||||||||||||||||||
dogbert17 | I guess it's the spesh log, i.e. setting both MVM_SPESH_LOG and MVM_JIT_DEBUG. MasterDuke would know for certain. | 18:12 | |||||||||||||||||||||||||||||||||||||
I see the following, which looks interesting | 18:21 | ||||||||||||||||||||||||||||||||||||||
After: | |||||||||||||||||||||||||||||||||||||||
Spesh of 'slip-all' (cuid: 960, file: SETTING::src/core.c/Rakudo/SlippyIterator.pm6:49) | |||||||||||||||||||||||||||||||||||||||
a few lines later | |||||||||||||||||||||||||||||||||||||||
Instructions: | 18:22 | ||||||||||||||||||||||||||||||||||||||
sp_getarg_o r5(3), liti16(0) # [015] start of exprjit tree | |||||||||||||||||||||||||||||||||||||||
ctx r9(3) | |||||||||||||||||||||||||||||||||||||||
# [017] JIT: bailed completely because of <ctxcode> | |||||||||||||||||||||||||||||||||||||||
# [016] expr bail: Cannot get template for: ctxcode | |||||||||||||||||||||||||||||||||||||||
18:22
TreyHarris joined
|
|||||||||||||||||||||||||||||||||||||||
MasterDuke | does the after for both HEAD and 2020.10 look the same? ctxcode hasn't had a jit template all along, so that would (likely) only be interesting if 2020.10 didn't have it at all | 18:29 | |||||||||||||||||||||||||||||||||||||
lizmat | perhaps related: the slowdown looks to be cause by excessive BOOTContext allocations | 18:30 | |||||||||||||||||||||||||||||||||||||
dogbert17 | MasterDuke: it does not look the same in the older version, no bail at that point | 18:34 | |||||||||||||||||||||||||||||||||||||
MasterDuke | how similar do the afters look? i.e., mostly the same ops? | 18:35 | |||||||||||||||||||||||||||||||||||||
lizmat | afk for a few hours& | 18:38 | |||||||||||||||||||||||||||||||||||||
dogbert17 | MasterDuke: gist.github.com/dogbert17/605f5477...4acf36385e | 18:39 | |||||||||||||||||||||||||||||||||||||
18:48
melezhik left
20:12
sena_kun joined,
melezhik joined
20:13
Altai-man left
|
|||||||||||||||||||||||||||||||||||||||
melezhik | .tell lizmat I've implemented Raku profiles in RP - rakudist.raku.org/sparky/report/RakuPlay-3/1457 please be aware that in case of slowdown script, generated profile data is big enough so it takes a few minutes to publish it to GH gists. Please be considerate and not overload poor RP worker host ))) | 20:17 | |||||||||||||||||||||||||||||||||||||
tellable6 | melezhik, I'll pass your message to lizmat | ||||||||||||||||||||||||||||||||||||||
melezhik | to use Raku profiles in RakuPlay scenarios, check "Use Profile" checkbox - raw.githubusercontent.com/melezhik...rofile.png | 20:19 | |||||||||||||||||||||||||||||||||||||
profile data gets uploaded to GH gist under , account, I think there is a limitation, no more 60 requests per hour, I might be wrong though, a link to gist is visible through RP report | 20:21 | ||||||||||||||||||||||||||||||||||||||
the profile format is json | |||||||||||||||||||||||||||||||||||||||
if you need others - html / sql - let me know | |||||||||||||||||||||||||||||||||||||||
20:29
melezhik left
|
|||||||||||||||||||||||||||||||||||||||
MasterDuke | .tell melezhik very cool. however, i'd say json is probably the least useful of the three. i'd suggest defaulting to html with the option of sql instead | 20:37 | |||||||||||||||||||||||||||||||||||||
tellable6 | MasterDuke, I'll pass your message to melezhik | ||||||||||||||||||||||||||||||||||||||
MasterDuke | dogbert17: yeah, those don't very similar. only two BBs in the new, but a lot more going on in them. timotimo would be another good person to take a look | 20:40 | |||||||||||||||||||||||||||||||||||||
20:46
sena_kun left
|
|||||||||||||||||||||||||||||||||||||||
timotimo | well, melezhik could actually host moarperf along with the sql file, perhaps a version that doesn't allow the user to enter a path to load | 20:54 | |||||||||||||||||||||||||||||||||||||
and some kind of timeout mechanism of course | |||||||||||||||||||||||||||||||||||||||
vrurg | dogbert17: I think the most likely cause are changes in Actions.nqp, sub lower_signature, if/elsif pair at line 9225. Worst penalty would be paid on handling generics, it's a complicated matter. | 22:45 | |||||||||||||||||||||||||||||||||||||
The elsif branch hasn't been changed much and shouldn't have such influence, unless previously moar was inlining calls to coercion methods. | 22:49 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | i don't see how generics or coercions would come into play with gist.github.com/dogbert17/1864d402...9defbc1fc0 | 22:56 | |||||||||||||||||||||||||||||||||||||
vrurg | MasterDuke: but the regression has been bisected back to my work. Besides, some core code might still be using them. Another option – generics. Since there is no way to know beforehand if a generic is a coercion the QAST code to handle this case is still gets installed. | 23:05 | |||||||||||||||||||||||||||||||||||||
Positional is a parametric, BTW. | 23:07 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | ah, that if is probably where the ctxcode and getcodeobj in the new speshlog come from | ||||||||||||||||||||||||||||||||||||||
vrurg | Exactly. I already see where some optimization could be done. But these two are unavoidable because the binding needs to iterate over code object signature paramters. | 23:14 | |||||||||||||||||||||||||||||||||||||
I have took measures not to re-fetch the code object for each parameter, but eventually I overlooked the fact that all I need it for is to get the signature. So, I can pre-fetch the signature. But if there is a way to give it to me in a more efficient way – this might get the problem solved. | 23:16 | ||||||||||||||||||||||||||||||||||||||
Otherwise I can pre-fetch the signature, but it'd spare one getattr per parameter, not the ctxcode/getcodeobj pair. | 23:17 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | i'm about 90% sure the ctxcode/getcodeobj are much more expensive | ||||||||||||||||||||||||||||||||||||||
vrurg | Another optimization to be done is to avoid invocation of `coercive` method on a parameter object by providing a specialized attribute and replacing the method call with a getattr. | 23:18 | |||||||||||||||||||||||||||||||||||||
23:20
melezhik joined
|
|||||||||||||||||||||||||||||||||||||||
vrurg | Without having them once per each invocation there is no way to handle generics in the right way. For nominals it's all done by the binding-generation code because their parameters are known at compile time. But generics can only be taken care at runtime. | 23:20 | |||||||||||||||||||||||||||||||||||||
MasterDuke | dogbert17: fwiw, changing the grep to `* > 1` seems to be a little bit faster, at least on HEAD | 23:23 | |||||||||||||||||||||||||||||||||||||
vrurg | BTW, can somebody suggest the best way to unbox a Bool into a native int in NQP? would nqp::unbox_i do the job? | 23:24 | |||||||||||||||||||||||||||||||||||||
lizmat | NQP doesn't know about Bool? | ||||||||||||||||||||||||||||||||||||||
tellable6 | hey lizmat, you have a message: gist.github.com/c406f2524b45db97c4...d86e24807d | ||||||||||||||||||||||||||||||||||||||
lizmat | or do you meen in nqp ops ? | ||||||||||||||||||||||||||||||||||||||
m: use nqp; dd nqp::unbox_i(False) | 23:25 | ||||||||||||||||||||||||||||||||||||||
camelia | 0 | ||||||||||||||||||||||||||||||||||||||
lizmat | m: use nqp; dd nqp::unbox_i(True) | 23:26 | |||||||||||||||||||||||||||||||||||||
camelia | 1 | ||||||||||||||||||||||||||||||||||||||
vrurg | lizmat: not sure. I'm having a weird error with something like `if $!refinee.is_generic` where is_generic returns a Bool. So far suspect a problem with the False it returns. | ||||||||||||||||||||||||||||||||||||||
lizmat has done enough hacking for today& | |||||||||||||||||||||||||||||||||||||||
vrurg | lizmat: thanks! I'm probably a bit tired not to try it this way. :) | 23:27 | |||||||||||||||||||||||||||||||||||||
lizmat: o/ | |||||||||||||||||||||||||||||||||||||||
melezhik | lizmat MasterDuke I changed raku profile format in RP to html | 23:46 | |||||||||||||||||||||||||||||||||||||
tellable6 | 2020-11-21T20:37:08Z #raku-dev <MasterDuke> melezhik very cool. however, i'd say json is probably the least useful of the three. i'd suggest defaulting to html with the option of sql instead | ||||||||||||||||||||||||||||||||||||||
melezhik | see f.e. rakudist.raku.org/sparky/report/RakuPlay-2/1458 |