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.
MasterDuke jnthn: github.com/MoarVM/MoarVM/pull/927 00:17
timotimo ("devoiced" is the proper term i think? i kind of pulled "silenced" out of a hat 00:44
)
can i just say the activity in the squashathon has been incredible to see 00:52
i didn't pay very much attention, but damn.
MasterDuke very much agree, ++s all around
AlexDaniel 29 contributors I think 00:53
we're still not down to 0 issues btw 00:56
and not really close
squashable6: status
squashable6 AlexDaniel, 🍕🍕 SQUASHathon is in progress! The end of the event in ≈11 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
AlexDaniel, Log and stats: gist.github.com/2581a0430e4cc9f4f6...8acdf3d0fd
AlexDaniel but there's time, so help is appreciated :)
about 56 modules received a pull request, that's incredible indeed :) 01:00
+ some were fixed by authors, and some modules received a ticket 01:02
01:25 dimi34ka3 joined, dimi34ka3 left 01:42 undersightable6 joined 01:43 p6bannerbot sets mode: +v undersightable6
MasterDuke jnthn, timotimo: wow, my most recent profile of Compress::Zlib say 43% of the time is spent in garbage collection and dynamic optimization! 01:43
01:44 okdas joined 01:45 p6bannerbot sets mode: +v okdas
timotimo let's see ... 01:45
how did you generate the test data? 01:46
just give me all your stuff :P
MasterDuke: ^ 01:48
01:49 okdas left
timotimo ah i see the code 01:53
MasterDuke timotimo: i didn't have inlining disabled, so i could only profile on a 3k line file (50kb compressed, 209kb uncompressed) 01:56
i've just been using the first n lines of ftp://ftp.ncbi.nlm.nih.gov/genomes/Homo_sapiens/ARCHIVE/BUILD.37.3/CHR_01/hs_ref_GRCh37.p5_chr1.fa.gz for my testing 01:57
timotimo so unpacked, head, pack again?
MasterDuke yep 01:58
timotimo that's a really slow server? 01:59
MasterDuke yeah. the full file is ~66mb
timotimo i'll have the file in 5 minutes 02:00
would probably be faster to scp it from your server, if it's on there?
hm, i'm the only one logged in right now, so maybe not 02:01
MasterDuke it's up there now
timotimo where do find? 02:02
MasterDuke /home/bisectable/hs_ref_GRCh37.p5_chr1-2.fa.gz.bak i think
timotimo jeez, might want to kick some files out of /tmp
i'll save about a minute 02:03
MasterDuke heh. only took 6s to upload it...
timotimo then you should have sent it to me directly :D
www.sharedrop.io/rooms/385bdfb9-a0...df7eafb0de
MasterDuke do you have a null-modem cable long enough?
timotimo :D 02:04
02:04 Caraway21 joined 02:05 p6bannerbot sets mode: +v Caraway21
timotimo oh, ok, i'm finished getting it via scp 02:05
MasterDuke i should've used zstd to recompress the extracted file. gzip is so slow comparatively 02:06
02:07 Caraway21 left
timotimo heh. 02:07
MasterDuke i just tried a profile of 100k lines and MVM_SPESH_OSR_DISABLE=1, nearly killed my box 02:08
oh. duh. i wanted _INLINE_ 02:09
timotimo it's difficult, the 3k lines thing finishes in just 0.6s 02:10
so not too much to profile actually
MasterDuke 100k with MVM_SPESH_INLINE_DISABLE=1 created a workable profile 02:12
timotimo i think one way to make things faster, though likely not by much, is to not go via the Str.pm6:2176 function, that one calls "encoder" from Encoding/Builtin:26 over and over, as well as "find" from the Encoding/Registry 02:15
that'd only do at most a second out of a runtime of 10 seconds i think 02:16
MasterDuke oh? and use Encoding/* directly? 02:17
timotimo could do
the block at line 253 is responsible for about 3 seconds, and half of that is in "encode" from Str 02:18
subbuf takes more time there, but that'll be (or has already been) improved by using nqp::slice? 02:19
MasterDuke lizmat merged my PR, so you should have it at rakudo's HEAD 02:20
timotimo cool, i'll update
MasterDuke yeah, that should make a difference 02:22
timotimo maybe as a super bad hotfix i could make only the op that causes the call graph to blow up "noinline" when the profiler is turned on 02:25
then you'll get a little bit of info on inlines in the profiler, and you don't have to turn inlining off
MasterDuke it's just one op?
timotimo i think so 02:26
i think it's throwpayloadcaller or similar
MasterDuke throwpayloadlex or throwpayloadlexcaller ? 02:27
timotimo it has to be the caller one i believe
MasterDuke yep, i could open a profile of 100k just fine after marking that op :noinline 02:30
timotimo that'll be a disgusting hotfix that'll want proper fixing soon
MasterDuke gc and opt are down to 8.5%
timotimo opt was how much before? 02:31
MasterDuke well, 40% when using the 3k file 02:32
timotimo well, it's at least running in parallel to the normal code
MasterDuke i'm still getting that the most expensive block is the loop {} in get() 02:33
timotimo yeah
MasterDuke at about 12%
timotimo inside that the block for if $i.defined takes the biggest chunk
i'd say about a third 02:34
02:34 ChanServ sets mode: -v jdv79_, jdv79_ is now known as jdv79
timotimo line 247 takes about a fifth, and inflate from Compress::Zlib at only between a quarter and a third 02:34
you want a real microoptimization? move out $nl.chars to outside of the loop :P 02:35
it gets called once per call to that if block, and it takes about 8.5 miliseconds in total 02:36
MasterDuke github.com/retupmoca/P6-Compress-Zlib/pull/16
timotimo cool, you already found that
encode still takes a good chunk of total time 02:37
MasterDuke i'm seeing that the 3rd most expensive is the 'gather while' in lines()
that may be another place to re-implement lines(), like is needed for IO::String 02:38
timotimo "lines" barely registers on my profile, though i have only (?) a 1M lines file 02:39
MasterDuke huh, lines itself doesn't really show up 02:40
timotimo oh, lines surely only sets up the gather/take 02:41
and all the actual cost is accounted in whatever causes the body to run
also, my body has to run
seeya and good luck!
MasterDuke ah, it's from slurp's self.lines.join
later...
03:13 arooni1 joined 03:14 p6bannerbot sets mode: +v arooni1 03:19 arooni1 left 03:21 blacksyke21 joined 03:22 p6bannerbot sets mode: +v blacksyke21 03:27 blacksyke21 left 03:39 Kaiepi left 04:13 Kaiepi joined 04:14 p6bannerbot sets mode: +v Kaiepi 04:25 edong2310 joined 04:26 p6bannerbot sets mode: +v edong2310 04:31 edong2310 left 04:33 lizmat left 04:37 lizmat joined 04:38 p6bannerbot sets mode: +v lizmat 04:46 berFt22 joined 04:47 p6bannerbot sets mode: +v berFt22 04:48 berFt22 left 04:54 Kaiepi left 06:00 Keygen joined, p6bannerbot sets mode: +v Keygen 06:01 Keygen left 06:25 earlz26 joined, p6bannerbot sets mode: +v earlz26 06:26 earlz26 left 06:32 soahccc25 joined 06:33 p6bannerbot sets mode: +v soahccc25 06:37 soahccc25 left 06:41 robertle joined 06:42 p6bannerbot sets mode: +v robertle 06:51 Kaiepi joined 06:52 p6bannerbot sets mode: +v Kaiepi 07:11 tcsc9 joined 07:12 p6bannerbot sets mode: +v tcsc9 07:15 Yatekii5 joined 07:16 p6bannerbot sets mode: +v Yatekii5 07:17 tcsc9 left 07:21 Yatekii5 left
[Tux] Rakudo version 2018.06-317-gc4bb1b19d - MoarVM version 2018.06-339-g05990ef90
csv-ip5xs1.063 - 1.254
csv-ip5xs-207.919 - 8.166
csv-parser24.667 - 25.708
csv-test-xs-200.422 - 0.480
test10.052 - 10.360
test-t2.264 - 2.311
test-t --race0.978 - 0.982
test-t-2041.368 - 41.492
test-t-20 --race12.849 - 13.476
07:26
07:56 Whooa21 joined 07:57 p6bannerbot sets mode: +v Whooa21, Whooa21 left 08:39 Ryuzaki joined, p6bannerbot sets mode: +v Ryuzaki 08:40 Ryuzaki left 08:42 Kaiepi left 09:00 thurin9 joined 09:01 thurin9 left 09:04 casdr0 joined, casdr0 left 09:07 PufferBot joined, Kaiepi joined, p6bannerbot sets mode: +v PufferBot 09:08 p6bannerbot sets mode: +v Kaiepi 09:43 cloe14 joined, p6bannerbot sets mode: +v cloe14, cloe14 left
tbrowder_ hi #perl6-dev 09:55
i want to merge my rakudo PR #2171 later today if there are no objections 09:56
10:01 raspimate_ joined, raspimate_ left 10:05 HarryCross214 joined 10:06 p6bannerbot sets mode: +v HarryCross214 10:10 HarryCross214 left 10:17 Guest41322 joined, mist29 joined 10:18 p6bannerbot sets mode: +v Guest41322, Guest41322 left, p6bannerbot sets mode: +v mist29 10:19 mist29 left 10:31 suim4 joined 10:32 p6bannerbot sets mode: +v suim4 10:37 suim4 left 10:55 sysdef4 joined 10:56 Majadon12 joined, p6bannerbot sets mode: +v sysdef4, p6bannerbot sets mode: +v Majadon12 10:57 No joined 10:58 p6bannerbot sets mode: +v No, No left 10:59 Majadon12 left, sysdef4 left 11:02 evil joined, Erynnn4 joined 11:03 p6bannerbot sets mode: +v evil, p6bannerbot sets mode: +v Erynnn4, evil left 11:04 Erynnn4 left 11:05 Ben6413 joined, Ben6413 left 11:14 arooni13 joined, p6bannerbot sets mode: +v arooni13 11:19 arooni13 left 11:23 radiofree13 joined, radiofree13 left 11:24 Fieldy3 joined, Fieldy3 left 11:28 YuGiOhJCJ joined, YuGiOhJCJ left 11:52 joycepao joined, p6bannerbot sets mode: +v joycepao 11:53 c0ded joined, joycepao left, p6bannerbot sets mode: +v c0ded 11:54 c0ded left 12:00 AC`97_ joined, AC`97_ left 12:18 Guest78780 joined 12:19 p6bannerbot sets mode: +v Guest78780, Guest78780 left 12:25 RoBz13 joined 12:26 p6bannerbot sets mode: +v RoBz13, timwis15 joined 12:27 timwis15 left, RoBz13 left, rodarmor5 joined 12:28 p6bannerbot sets mode: +v rodarmor5 12:29 rodarmor5 left 12:43 robertle left, robertle joined 12:44 p6bannerbot sets mode: +v robertle 13:08 Neobenedict joined 13:09 p6bannerbot sets mode: +v Neobenedict 13:13 Neobenedict left 13:56 RustyJ23 joined, p6bannerbot sets mode: +v RustyJ23 13:57 RustyJ23 left
Geth rakudo: cd43c4f153 | (Elizabeth Mattijsen)++ | src/core/Buf.pm6
Streamline Buf.subbuf a bit more

  - make it a multi
  - use helper subs for readability
  - make sure all is done as natively as possible
  - depending on parameters, makes subbuf between 1.2x to 2.5x as fast
14:15
14:41 quarks joined 14:42 p6bannerbot sets mode: +v quarks 14:46 NSCLRP-1 joined, NSCLRP-1 left 14:47 quarks left
Geth nqp: 7729d0a8a0 | (Zoffix Znet)++ | tools/build/MOAR_REVISION
[MoarVM Bump] Brings 16 commits

MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...7-gca0ece5 ca0ece5 Merge pull request #888 from Kaiepi/configure 7cab426 Merge pull request #920 from jstuder-gh/mv_templates_right_location 700ce36 Merge pull request #921 from jstuder-gh/carray_str_leak 22d710e Merge pull request #928 from MasterDuke17/use_correct_types_in_find_deopt_target_and_index_signature ... (12 more lines)
14:54
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...7-gca0ece5
rakudo: d4d8289515 | (Zoffix Znet)++ | tools/build/NQP_REVISION
[NQP Bump] Brings 2 commits

NQP bump brought: github.com/perl6/nqp/compare/2018....4-g7729d0a 7729d0a [MoarVM Bump] Brings 16 commits 20b2eb7 Add pow_i to docs
MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...7-gca0ece5 ... (16 more lines)
rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....4-g7729d0a
a50c0492e6 | (Elizabeth Mattijsen)++ | src/core/Buf.pm6

self is always already deconted
15:25 Theking^6 joined 15:26 p6bannerbot sets mode: +v Theking^6 15:27 Theking^6 left 15:32 badseed joined, p6bannerbot sets mode: +v badseed 15:37 badseed left 15:41 dfgg10 joined, dfgg10 left 16:05 brrt joined, p6bannerbot sets mode: +v brrt 16:33 squashable6 left, reportable6 joined 16:34 p6bannerbot sets mode: +v reportable6 16:51 squashable6 joined, p6bannerbot sets mode: +v squashable6 16:52 squashable6 left 16:54 squashable6 joined 16:55 p6bannerbot sets mode: +v squashable6 16:58 brrt left
rakudo: 90ef306102 | (Elizabeth Mattijsen)++ | src/Perl6/Actions.nqp
Make sure "my ($a,$b)" does not have any runtime effect

Before this change, it would actually create a List each time the scope with the definition was entered. This does *not* take care of the case where the variables are initialized. This a different can of beans. jnthn++ for suggesting the code.
17:20 dct joined, p6bannerbot sets mode: +v dct 17:22 albel7275 joined, p6bannerbot sets mode: +v albel7275 17:23 albel7275 left
tbrowder_ before i merge my rakudo pr, ugexe had one comment: should the sub lines which splits lines with “\n” also consider “\r\n”. i said i don’t know, but i think all system-specific line endings are magically taken care of with the nqp (and p6) “\n” newline. is that not true? 17:39
lizmat nqp -e 'nqp::say(nqp::chars("\r\n"))' # 1 , so I think so 17:41
AlexDaniel tbrowder_: so that's in the source code, right 17:45
??
s/‘??’/?/ # one is enough :)
tbrowder_: if yes, then it should act the same way it does in other cases 17:48
like
m: my $x = { … }␤say 42 # something like this but with different newlines 17:50
camelia 42
AlexDaniel \r \r\n and \n seem to work 17:51
but also 17:52
u: 

u: a
a
unicodable6 AlexDaniel, U+000A <control-000A> [Cc] (control character)
AlexDaniel, U+001A <control-001A> [Cc] (control character)
AlexDaniel, Cowardly refusing to gist more than 5000 lines
AlexDaniel woah
tbrowder_: basically all these: en.wikipedia.org/wiki/Newline#Unicode 17:53
m: my $x = { … }
say 42
camelia 42
AlexDaniel because that ↑ works
so yeah, unless I'm missing something 17:54
18:14 disi3 joined, p6bannerbot sets mode: +v disi3 18:15 disi3 left 18:21 ChanServ sets mode: -v hoelzro 18:23 brrt joined 18:24 p6bannerbot sets mode: +v brrt, HackMaster joined 18:25 p6bannerbot sets mode: +v HackMaster, HackMaster left
brrt \o 18:31
18:55 Kaiepi left 18:56 PufferBot left 18:57 Kaiepi joined, p6bannerbot sets mode: +v Kaiepi
tbrowder_ AlexDaniel: thanks! 19:22
Geth rakudo: 29dc1952da | (Tom Browder)++ | 5 files
implement S26 =defn block properly, add tests
19:23
rakudo: ff8d8d8260 | (Tom Browder)++ | 2 files
fix typo, remove debug line
rakudo: 6e8ca327a3 | (Tom Browder)++ (committed using GitHub Web editor) | 5 files
Merge pull request #2171 from tbrowder/defn3

implement S26 =defn block properly, add tests
19:30 Steinsplitter18 joined 19:31 p6bannerbot sets mode: +v Steinsplitter18 19:36 balrog6 joined, Steinsplitter18 left, p6bannerbot sets mode: +v balrog6 19:41 balrog6 left 19:47 Kaiepi left 19:49 BWBellairs2 joined 19:50 BWBellairs2 left 20:09 MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke 20:15 brrt left
Geth nqp: 3be0568b90 | (Zoffix Znet)++ | tools/build/MOAR_REVISION
[MoarVM Bump] Brings 25 commits

MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...2-g166c4a2 166c4a2 Fix wrong comment 346df9e Mark "shameful hotfix" as TODO b3eb1f4 shameful hotfix for gigantic profiler output files 3969395 [JIT] Please Travis ... (21 more lines)
20:16
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...2-g166c4a2
rakudo: ea84a465a2 | (Zoffix Znet)++ | tools/build/NQP_REVISION
[NQP Bump] 3be0568 [MoarVM Bump] Brings 25 commits

NQP bump brought: github.com/perl6/nqp/compare/2018....5-g3be0568
MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...2-g166c4a2 166c4a2 Fix wrong comment 346df9e Mark "shameful hotfix" as TODO ... (23 more lines)
¦ rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....5-g3be0568
20:22 Kaiepi joined, p6bannerbot sets mode: +v Kaiepi 20:28 Omnious joined, p6bannerbot sets mode: +v Omnious 20:32 Omnious left 21:04 dct left 21:05 m129 joined, m129 left 21:16 eth24 joined, p6bannerbot sets mode: +v eth24 21:18 eth24 left, Guest85043 joined 21:19 p6bannerbot sets mode: +v Guest85043
AlexDaniel .tell lizmat perhaps you're interested: GH#2182 21:21
yoleaux AlexDaniel: I'll pass your message to lizmat.
synopsebot GH#2182 [open]: github.com/rakudo/rakudo/issues/2182 [regression] Array[Pair] as return constraint does not work
21:23 Guest85043 left 21:39 lizmat left 21:47 e-mail joined 21:48 p6bannerbot sets mode: +v e-mail, e-mail left 22:16 robertle left 22:21 Randy13 joined, p6bannerbot sets mode: +v Randy13 22:22 Randy13 left 22:28 dct joined, p6bannerbot sets mode: +v dct 22:41 matlock joined, p6bannerbot sets mode: +v matlock 22:46 matlock left 23:06 eldritch18 joined 23:07 p6bannerbot sets mode: +v eldritch18 23:11 Hijiri joined 23:12 p6bannerbot sets mode: +v Hijiri, eldritch18 left 23:13 Hijiri left