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. |
|||||||||||||||||||||||||||||||||||||||
00:20
lizmat left
00:24
MasterDuke left
00:35
MasterDuke joined,
p6bannerbot sets mode: +v MasterDuke,
MasterDuke left,
MasterDuke joined,
herbert.freenode.net sets mode: +v MasterDuke,
p6bannerbot sets mode: +v MasterDuke
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: tbrowder++ created pull request #2277: Partially implement Pod '#' alias for %config :numbered |
00:41 | |||||||||||||||||||||||||||||||||||||
01:33
ilogger2 joined,
p6bannerbot sets mode: +v ilogger2
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: tbrowder++ created pull request #472: add tests for pod :numbered alias |
01:39 | |||||||||||||||||||||||||||||||||||||
roast: bd4f14ab4f | (Tom Browder)++ (committed using GitHub Web editor) | S26-documentation/15-numbered-alias.t add tests for pod :numbered alias (#472) |
01:40 | ||||||||||||||||||||||||||||||||||||||
02:05
kysse13 joined
02:08
kysse13 left
02:44
mhall119 joined
02:46
mhall119 left
03:05
epony joined,
p6bannerbot sets mode: +v epony
03:32
ggoebel joined,
p6bannerbot sets mode: +v ggoebel
05:32
Ingersol1 joined
05:38
Ingersol1 left
06:13
jindraj8 joined
06:18
jindraj8 left
07:23
Dazzozo25 joined
07:28
Dazzozo25 left
|
|||||||||||||||||||||||||||||||||||||||
Geth | nqp: d46ad39b5d | (Bart Wiegmans)++ | t/moar/12-decodelocaltime.t [decodelocaltime] Make test less sensitivve to timezone Silly me, thinking the unix epoch starts at 1970-01-01 00:00:00, forgetting about timezones :-) |
07:49 | |||||||||||||||||||||||||||||||||||||
07:54
lizmat joined
07:55
p6bannerbot sets mode: +v lizmat
|
|||||||||||||||||||||||||||||||||||||||
lizmat | Files=1251, Tests=76126, 339 wallclock secs (15.90 usr 5.30 sys + 2388.59 cusr 222.85 csys = 2632.64 CPU) | 07:56 | |||||||||||||||||||||||||||||||||||||
08:00
Inv1s1ble joined
08:05
Inv1s1ble left
|
|||||||||||||||||||||||||||||||||||||||
lizmat | Q: is there a reason why the multi/onlyness of an implemented method in a role must match an implementation of a method in a consuming class ? | 08:52 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: f1f6825b9c | (Elizabeth Mattijsen)++ | 2 files Fix native array generator script for p6bool -> hllbool Apparently the generated code was changed, but not the generator :-( |
09:01 | |||||||||||||||||||||||||||||||||||||
09:31
theraspberry24 joined,
theraspberry24 left
09:51
gamingrobot18 joined
09:56
gamingrobot18 left
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: ed9b48de6a | (Elizabeth Mattijsen)++ | 7 files Standardize use of proto's on .STORE methods This should make sure there is no inter-class leakage of .STORE candidates. And perhaps this opens up a way to allow for a default implementation of .STORE in the Positional / Associative roles. |
10:04 | |||||||||||||||||||||||||||||||||||||
10:15
patrickz joined,
p6bannerbot sets mode: +v patrickz
|
|||||||||||||||||||||||||||||||||||||||
patrickz | Hi everyone! | 10:25 | |||||||||||||||||||||||||||||||||||||
10:27
lizmat_ joined
|
|||||||||||||||||||||||||||||||||||||||
patrickz | Perl6 is currently not relocatable. I'd like to change that. | 10:27 | |||||||||||||||||||||||||||||||||||||
10:27
p6bannerbot sets mode: +v lizmat_
|
|||||||||||||||||||||||||||||||||||||||
patrickz | I guess I'll try to get it to work on moarvm on linux and only afterwards tackle other combinations. | 10:28 | |||||||||||||||||||||||||||||||||||||
As I'm quite new to the code base I'll probably need some help. | |||||||||||||||||||||||||||||||||||||||
10:29
lizmat left
|
|||||||||||||||||||||||||||||||||||||||
patrickz | I have already looked around a bit and managed to compile a MoarVM that works in a non install path and yet a different CWD (it starts and displays the help). | 10:32 | |||||||||||||||||||||||||||||||||||||
NQP and Rakudo are trickier because they currently have the installation path hard coded. Setting it to a relative path helps, but then it's dependant on the CWD. | 10:36 | ||||||||||||||||||||||||||||||||||||||
What's needed is some logic to retrieve the installation location a runtime. | 10:40 | ||||||||||||||||||||||||||||||||||||||
timotimo | mhh, people will be quite happy to have that feature :) | ||||||||||||||||||||||||||||||||||||||
patrickz | I'm one of them. That is currently blocking me from using P6 at work... | 10:41 | |||||||||||||||||||||||||||||||||||||
timotimo | how often do you have to move the perl6 install around? :) | 10:42 | |||||||||||||||||||||||||||||||||||||
patrickz | It's not about moving, but about deploying. | 10:43 | |||||||||||||||||||||||||||||||||||||
timotimo | OK | ||||||||||||||||||||||||||||||||||||||
lizmat_ | ++patrickz | ||||||||||||||||||||||||||||||||||||||
10:43
lizmat_ is now known as lizmat
|
|||||||||||||||||||||||||||||||||||||||
patrickz | When perl6 is relocatable I can put my program next to it, zip it up and send it to my colleagues. | 10:43 | |||||||||||||||||||||||||||||||||||||
The most naive way I can think of is setting config<prefix> and config<libdir> early on during rakudo startup to an absolute path. | 10:46 | ||||||||||||||||||||||||||||||||||||||
timotimo | i wonder when we'll find something that'll let us throw out old precompilation results | ||||||||||||||||||||||||||||||||||||||
patrickz | prefix is the install path and libdir the Perl6 internal library path. | ||||||||||||||||||||||||||||||||||||||
timotimo | 759M../install/share/perl6 | 10:48 | |||||||||||||||||||||||||||||||||||||
lizmat | 1.2G for me :-) | ||||||||||||||||||||||||||||||||||||||
guess I do many more core setting compilations / spectests | 10:49 | ||||||||||||||||||||||||||||||||||||||
timotimo | i don't think they put very much in there actually? | ||||||||||||||||||||||||||||||||||||||
like, the core setting file will be overwritten each time? | |||||||||||||||||||||||||||||||||||||||
lizmat | not sure: du -shc install/share/perl6/precomp/ # 1.0G | 10:50 | |||||||||||||||||||||||||||||||||||||
timotimo | what do we have to introspect the precomp file? | 10:51 | |||||||||||||||||||||||||||||||||||||
folder* | |||||||||||||||||||||||||||||||||||||||
lizmat | nothing, afaik :-( | ||||||||||||||||||||||||||||||||||||||
patrickz | Is QASTOperationsMAST a simple mapping of NQP Ops to MoarVM opcodes? | 10:54 | |||||||||||||||||||||||||||||||||||||
timotimo | it's relatively simple, but there's a few complex bits in there, too | 10:55 | |||||||||||||||||||||||||||||||||||||
patrickz | nqp/src/vm/moar/QAST/QASTOperationsMAST.nqp that is... | ||||||||||||||||||||||||||||||||||||||
lizmat | FSVO simple | ||||||||||||||||||||||||||||||||||||||
timotimo | some ops are implemented as a little sub that emits MAST "manually", or via a different QAST tree | 10:56 | |||||||||||||||||||||||||||||||||||||
patrickz | But that's the basic idea? (I'm totally new to the rakudo/nqp/moarvm codebases, trying to get the big picture atm) | ||||||||||||||||||||||||||||||||||||||
timotimo | yep, that's the idea | ||||||||||||||||||||||||||||||||||||||
robertle | lizmat, timotimo: aren't all precomp files organized in folders where the folder name is a hash of the compiler id? so you could just throw away all such folders that do not match the current compiler, no? | 10:59 | |||||||||||||||||||||||||||||||||||||
timotimo | i'm grepping all the precomp files for strings and i'm seeing a whole lot of anon classes named like "<anon|114083744>" | 11:00 | |||||||||||||||||||||||||||||||||||||
i think the more anon classes we move out and give proper, shorter names, the more string memory we save | |||||||||||||||||||||||||||||||||||||||
though of course the effect is tiny | |||||||||||||||||||||||||||||||||||||||
robertle: i thought the compiler id is just a part of the hash input | |||||||||||||||||||||||||||||||||||||||
cat wants cuddles on the couch, bbl | |||||||||||||||||||||||||||||||||||||||
lizmat | robertle: yes, and since just about everything is automatically rebuilt, I sometimes just nuke the precomp directories on my machinne | ||||||||||||||||||||||||||||||||||||||
robertle | not sure, but my investigations a while ago: wiki.debian.org/Perl6PreCompProposal if this is true, it should be simple to write something that removes all the dirs for not-current compilers | 11:02 | |||||||||||||||||||||||||||||||||||||
afk | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | dogbert2: can you confirm that it builds properly now? | 11:04 | |||||||||||||||||||||||||||||||||||||
patrickz: but what's the current situation? | 11:06 | ||||||||||||||||||||||||||||||||||||||
is moarvm relocatable? | |||||||||||||||||||||||||||||||||||||||
patrickz | In mainline neither moarvm nor rakudo are relocatable. | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | do we even have a ticket for that? | ||||||||||||||||||||||||||||||||||||||
it's a very well known problem, but still, it needs a ticket if there's none | |||||||||||||||||||||||||||||||||||||||
patrickz | I don't know. Lets see... | 11:07 | |||||||||||||||||||||||||||||||||||||
timotimo | it might be necessary for someone who knows more about OS internals than me to check whether nuking precomp files while a moarvm process is running somewhere will cause problems | 11:21 | |||||||||||||||||||||||||||||||||||||
i've seen segfaults under those circumstances | |||||||||||||||||||||||||||||||||||||||
patrickz | AlexDaniel: RT#122752 is related. I didn't find any other ticket. | 11:24 | |||||||||||||||||||||||||||||||||||||
synopsebot | RT#122752 [new]: rt.perl.org/Ticket/Display.html?id=122752 [STAR] [BUILD] Allow different INSTALLLOCATION for Rakudo Star MSI package | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | create some then | ||||||||||||||||||||||||||||||||||||||
patrickz | That's a task that requires changes in moarvm and rakudo. Should I create two tickets then? | 11:26 | |||||||||||||||||||||||||||||||||||||
lizmat | patrickz: can any change be done to moarvm without needing an immediate change to nqp / rakudo | 11:37 | |||||||||||||||||||||||||||||||||||||
patrickz | I think so, yes. | 11:38 | |||||||||||||||||||||||||||||||||||||
lizmat | then I would say different tickets :-) | ||||||||||||||||||||||||||||||||||||||
patrickz | I would actually try to do it that way. Work my way up. | ||||||||||||||||||||||||||||||||||||||
lizmat | patrickz++ # sounds like a plan | 11:39 | |||||||||||||||||||||||||||||||||||||
patrickz | Tickets are created. | 11:44 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | patrickz++ that's a good start :) | 11:46 | |||||||||||||||||||||||||||||||||||||
nine | On Linux at least, deleting precomp files shouldn't cause an issue even if they are in use by moar. The files are kept open and Linux will only really delete them when the last user closes them. | 12:16 | |||||||||||||||||||||||||||||||||||||
timotimo | that's what i thought, too. | 12:17 | |||||||||||||||||||||||||||||||||||||
nine | While the compiler id is part of what goes into a precomp files's hash, they are also stored in directories named after the compiler id. | ||||||||||||||||||||||||||||||||||||||
timotimo | at the time i thought it was because rewriting the files was causing the file to be truncated and rewritten | ||||||||||||||||||||||||||||||||||||||
but the fix i put in didn't actually seem to fix that, i later discovered ... iirc | |||||||||||||||||||||||||||||||||||||||
nine | Yes, modifying the files in place would cause interesting issues for sure :) | ||||||||||||||||||||||||||||||||||||||
timotimo | isn't there an argument to mmap that'll COW the file contents? | 12:18 | |||||||||||||||||||||||||||||||||||||
but still share it between different processes? | |||||||||||||||||||||||||||||||||||||||
nine | MAP_PRIVATE Create a private copy-on-write mapping. Updates to the mapping are not visible to other processes mapping the same file, and are not carried through to the underlying file. It is unspecified whether changes made to the file after the mmap() call are visible in the mapped region. | 12:19 | |||||||||||||||||||||||||||||||||||||
timotimo | that still means that potentially if the file on the filesystem changes the process might explode? | 12:20 | |||||||||||||||||||||||||||||||||||||
nine | looks like | 12:21 | |||||||||||||||||||||||||||||||||||||
timotimo stumbles upon style="width: 0.1% white-space: nowrap;" | 12:23 | ||||||||||||||||||||||||||||||||||||||
tbrowder__ | hi folks | 12:37 | |||||||||||||||||||||||||||||||||||||
i’ve tried to change two quantifier constructs in src/Perl6/Grammar.nqp to a simple ‘?’ and am getting a build failure. | 12:39 | ||||||||||||||||||||||||||||||||||||||
i changed the one instance of “**1” to “?” and 15 instances of “**0..1” to “?”. | 12:40 | ||||||||||||||||||||||||||||||||||||||
akaik, those changes should not have caused a problem, but i have also seen that seemingly simple nqp changes can cause some strange results in faraway places. does anyone see an error in the changes i made? | 12:44 | ||||||||||||||||||||||||||||||||||||||
timotimo | well | ||||||||||||||||||||||||||||||||||||||
going from **0..1 to ? will change what type you get | |||||||||||||||||||||||||||||||||||||||
**0..1 will always give you a list, ? will never give you a list | 12:45 | ||||||||||||||||||||||||||||||||||||||
so you'll definitely have to change the usages, too | |||||||||||||||||||||||||||||||||||||||
FWIW, the performance for ? might be a tiny bit better compared to **0..1 | |||||||||||||||||||||||||||||||||||||||
just the tinyest bit. i haven't measured it at all. | 12:46 | ||||||||||||||||||||||||||||||||||||||
tbrowder__ | ah, ok, i thought about that at first because some just looked like a list, but thanks for that info. i’m not sure i’ve seen stated before. | 12:55 | |||||||||||||||||||||||||||||||||||||
that may be the key to something else i’ve been trying to do. | |||||||||||||||||||||||||||||||||||||||
timotimo: thanks! | 12:56 | ||||||||||||||||||||||||||||||||||||||
i think i’ll leave all as is, but maybe leave a note... | 12:58 | ||||||||||||||||||||||||||||||||||||||
timotimo | maybe we can have a look at the most used regexes from the perl6 grammar and replace **0..1 with ? (including the necessary changes to Actions.nqp) and see if that makes a noticable change in core setting compilation memory use | 13:00 | |||||||||||||||||||||||||||||||||||||
it's used in quite a few places it seems like | 13:01 | ||||||||||||||||||||||||||||||||||||||
if i'm not mistaken, having no entry there will always cost us an empty list that has to be allocated and will stick around a long time | |||||||||||||||||||||||||||||||||||||||
tbrowder__ | i would love to see you do that, i think that’s beyond my skill level now | 13:02 | |||||||||||||||||||||||||||||||||||||
timotimo | i don't know the exact changes for [ ]**0..1 actually | 13:04 | |||||||||||||||||||||||||||||||||||||
m: "abc" ~~ / [ <ident> ]**0..1 /; say $/.perl | |||||||||||||||||||||||||||||||||||||||
camelia | Match.new(orig => "abc", hash => Map.new((:ident([Match.new(made => Any, from => 0, list => (), orig => "abc", hash => Map.new(()), pos => 3)]))), pos => 3, made => Any, from => 0, list => ()) | ||||||||||||||||||||||||||||||||||||||
timotimo | m: "abc" ~~ / [ <ident> ]? /; say $/.perl | ||||||||||||||||||||||||||||||||||||||
camelia | Match.new(pos => 3, hash => Map.new((:ident(Match.new(pos => 3, hash => Map.new(()), made => Any, list => (), orig => "abc", from => 0)))), made => Any, list => (), orig => "abc", from => 0) | ||||||||||||||||||||||||||||||||||||||
timotimo | OK | ||||||||||||||||||||||||||||||||||||||
so in [ ]**0..1 we will actually get lists for the named captures inside | 13:05 | ||||||||||||||||||||||||||||||||||||||
tbrowder__ | try the **1 construct | 13:06 | |||||||||||||||||||||||||||||||||||||
timotimo | m: "abc" ~~ / [ <ident> ]**1 /; say $/.perl | ||||||||||||||||||||||||||||||||||||||
camelia | Match.new(list => (), hash => Map.new((:ident([Match.new(list => (), hash => Map.new(()), orig => "abc", pos => 3, made => Any, from => 0)]))), made => Any, from => 0, pos => 3, orig => "abc") | ||||||||||||||||||||||||||||||||||||||
timotimo | m: "abc" ~~ / [ <ident> ] /; say $/.perl | ||||||||||||||||||||||||||||||||||||||
camelia | Match.new(orig => "abc", made => Any, pos => 3, hash => Map.new((:ident(Match.new(hash => Map.new(()), pos => 3, list => (), from => 0, orig => "abc", made => Any)))), list => (), from => 0) | ||||||||||||||||||||||||||||||||||||||
timotimo | same thing i guess? | ||||||||||||||||||||||||||||||||||||||
i only see a single **1 in the Grammar | 13:07 | ||||||||||||||||||||||||||||||||||||||
tbrowder__ | that was my guess, docs say **1 is short for **0..1 | ||||||||||||||||||||||||||||||||||||||
yes, just one is all i’ve found, 15 of the others | 13:08 | ||||||||||||||||||||||||||||||||||||||
timotimo | what? | 13:10 | |||||||||||||||||||||||||||||||||||||
that seems strange | |||||||||||||||||||||||||||||||||||||||
m: say "" ~~ / a ** 1 / | |||||||||||||||||||||||||||||||||||||||
camelia | Nil | ||||||||||||||||||||||||||||||||||||||
timotimo | ** 1 must be short for ** 1..1 | ||||||||||||||||||||||||||||||||||||||
tbrowder__ | i may have misread, but i’ll recheck | 13:11 | |||||||||||||||||||||||||||||||||||||
timotimo | if you read right we should fix that | ||||||||||||||||||||||||||||||||||||||
tbrowder__ | but ^^ makes more sense | 13:12 | |||||||||||||||||||||||||||||||||||||
in fact, that was my first thougt becaause i alway think of exponentiation with any ** | 13:13 | ||||||||||||||||||||||||||||||||||||||
m: say “‘ ~~ / a **0..1 / | 13:15 | ||||||||||||||||||||||||||||||||||||||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unable to parse expression in curly double quotes; couldn't find final '”' (corresponding starter was at line 1) at <tmp>:1 ------> 3say “‘ ~~ / a **0..1 /7⏏5<EOL> expecting any of… |
||||||||||||||||||||||||||||||||||||||
tbrowder__ | m: say “” ~~ / a **0..1 / | 13:16 | |||||||||||||||||||||||||||||||||||||
camelia | 「」 | ||||||||||||||||||||||||||||||||||||||
13:17
ZzZombo_ joined,
p6bannerbot sets mode: +v ZzZombo_
|
|||||||||||||||||||||||||||||||||||||||
tbrowder__ | m: say “aaa” ~~ / a ** 1 / | 13:17 | |||||||||||||||||||||||||||||||||||||
camelia | 「a」 | ||||||||||||||||||||||||||||||||||||||
tbrowder__ | m: say “aaa” ~~ / a **0..1 / | 13:18 | |||||||||||||||||||||||||||||||||||||
camelia | 「a」 | ||||||||||||||||||||||||||||||||||||||
tbrowder__ | looks the same? | ||||||||||||||||||||||||||||||||||||||
13:19
ZzZombo_ is now known as ZzZombo
|
|||||||||||||||||||||||||||||||||||||||
tbrowder__ | m: say “aaa” ~~ /a **0..3/ | 13:22 | |||||||||||||||||||||||||||||||||||||
camelia | 「aaa」 | ||||||||||||||||||||||||||||||||||||||
tbrowder__ | m: say “aaa” ~~ /a**2/ | 13:23 | |||||||||||||||||||||||||||||||||||||
camelia | 「aa」 | ||||||||||||||||||||||||||||||||||||||
tbrowder__ | m: say “aaa” ~~ /a**0..2/ | 13:24 | |||||||||||||||||||||||||||||||||||||
camelia | 「aa」 | ||||||||||||||||||||||||||||||||||||||
tbrowder__ | m: say “aaa” ~~ /[a]**1/; say $/.dump | 13:26 | |||||||||||||||||||||||||||||||||||||
camelia | 「a」 |
||||||||||||||||||||||||||||||||||||||
tbrowder__ | m: say “aaa” ~~ /[a]**0..2/; say $/.dump | 13:28 | |||||||||||||||||||||||||||||||||||||
camelia | 「aa」 |
||||||||||||||||||||||||||||||||||||||
tbrowder__ | m: say “aaa” ~~ /[a]**0..2/;say $/.perl | 13:30 | |||||||||||||||||||||||||||||||||||||
camelia | 「aa」 Match.new(orig => "aaa", pos => 2, made => Any, from => 0, list => (), hash => Map.new(())) |
||||||||||||||||||||||||||||||||||||||
13:47
walterve22 joined
13:49
walterve22 left
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: 92286fae07 | (Zoffix Znet)++ | S11-modules/require.t [v6.d REVIEW] Actually test constant has good value Orig: github.com/perl6/roast/commit/6aa2290b4 |
13:52 | |||||||||||||||||||||||||||||||||||||
13:55
patrickz left
13:57
savoca14 joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: 322694eb2e | (Zoffix Znet)++ | S32-io/io-special.t [v6.d REVIEW] Be explicit about IO::Special.Str/.what values Otherwise they might contain garbage and test would still pass, the way it's written. Orig: github.com/perl6/roast/commit/43ec5437d |
14:00 | |||||||||||||||||||||||||||||||||||||
14:01
savoca14 left
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: 02ab716ce1 | (Zoffix Znet)++ | S32-io/io-spec-unix.t [v6.d REVIEW] Expand IO::Spec::Unix.basename Include a test with backslash, which isn't a path separator on *nix |
14:05 | |||||||||||||||||||||||||||||||||||||
roast: c91244ef1a | (Zoffix Znet)++ | S32-io/io-spec-win.t [v6.dt REVIEW] Expan IO::Spec::Win32.basename Include test with backslash in path, which is a path sep on Win32 Orig: github.com/perl6/roast/commit/c3c51ede0 |
14:07 | ||||||||||||||||||||||||||||||||||||||
roast: cf255ba920 | (Zoffix Znet)++ | S32-io/null-char.t [v6.d REVIEW] Add &open to list of NUL test subs Orig: github.com/perl6/roast/commit/b16fbd3b2 |
14:11 | ||||||||||||||||||||||||||||||||||||||
roast: c3b40394b8 | (Zoffix Znet)++ | S02-types/native.t [v6.d REVIEW] Move int test to runtime To avoid any future optimizations making this code die prematurely Orig: github.com/perl6/roast/commit/a8a968499 |
14:15 | ||||||||||||||||||||||||||||||||||||||
jnthn | Ahh...home at last. :) | 14:19 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | samcv: hello, how is it going? | ||||||||||||||||||||||||||||||||||||||
btw, we saw no toaster results so far. I'll see if I can get new toaster going today, if not then probably will run the old one | 14:20 | ||||||||||||||||||||||||||||||||||||||
14:25
ZzZombo left
14:26
ZzZombo joined,
p6bannerbot sets mode: +v ZzZombo
|
|||||||||||||||||||||||||||||||||||||||
samcv | AlexDaniel: heyo | 14:36 | |||||||||||||||||||||||||||||||||||||
14:56
tinoco15 joined
15:00
tinoco15 left
15:38
lizmat left
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: 9f50f42d11 | (Zoffix Znet)++ | S32-io/io-path.t [v6.d REVIEW] Remove fudged .child-secure We're not doing this stuff in 6.d, and I'm increasingly leaning towards never doing it and instead securize .open Orig: github.com/perl6/roast/commit/f3c5dae28 |
15:57 | |||||||||||||||||||||||||||||||||||||
roast: 0766c4617a | (Zoffix Znet)++ | fudge Teach fudger new Test::Util routines |
15:59 | ||||||||||||||||||||||||||||||||||||||
roast: 4124c1b592 | (Zoffix Znet)++ | S12-introspection/attributes.t [v6.d REVIEW] Test actual value instead of .gist of Attr shape Orig: github.com/perl6/roast/commit/0b199e1a4 |
16:03 | ||||||||||||||||||||||||||||||||||||||
16:03
DyDyMan12 joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: 3b5fad4897 | (Zoffix Znet)++ | S32-io/dir.t [v6.d REVIEW] Use is-path helper for $*CWD tests Orig: github.com/perl6/roast/commit/41b7f9f6a |
16:04 | |||||||||||||||||||||||||||||||||||||
16:07
DyDyMan12 left
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: 32c3c97c4e | (Zoffix Znet)++ | 2 files [v6.d REVIEW] Appendicise .match: Nil test Orig: github.com/perl6/roast/commit/0a67c4316 |
16:07 | |||||||||||||||||||||||||||||||||||||
roast: dcadfbcec9 | (Zoffix Znet)++ | S16-io/words.t [v6.d REVIEW] More precise test for words() Orig: github.com/perl6/roast/commit/8f78ca604 |
16:08 | ||||||||||||||||||||||||||||||||||||||
roast: c327c01e0d | (Zoffix Znet)++ | S02-literals/radix.t [v6.d REVIEW] Remove references to particular impls Orig: github.com/perl6/roast/commit/ea1aa6721 |
16:11 | ||||||||||||||||||||||||||||||||||||||
16:12
semarie14 joined
16:15
semarie14 left
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: 8858608e2a | (Zoffix Znet)++ | S16-io/home.t [v6.d REVIEW] Polish $*HOME tests - Don't rely on $*TMPDIR - Use is-path for path testing Orig: github.com/perl6/roast/commit/71a6423a9 |
16:38 | |||||||||||||||||||||||||||||||||||||
[Tux] |
|
16:45 | |||||||||||||||||||||||||||||||||||||
Geth | roast: ba05946b54 | (Zoffix Znet)++ | S03-operators/andthen.t [v6.d REVIEW] Clarify andthen test desc Not all impls might use `andthen` to handle `with` Orig: github.com/perl6/roast/commit/e036c4e28 |
16:46 | |||||||||||||||||||||||||||||||||||||
roast: 341d655725 | (Zoffix Znet)++ | S03-operators/notandthen.t [v6.d REVIEW] Clarify desc of notandthen test Not all impls might use notandthen to handle `without` Orig: github.com/perl6/roast/commit/50b54916d |
16:47 | ||||||||||||||||||||||||||||||||||||||
roast: c2e247d880 | (Zoffix Znet)++ | S32-io/io-path.t [v6.d REVIEW] Use is-path routine for IO::Path.perl.EVAL test Orig: github.com/perl6/roast/commit/1ed18b431 |
16:54 | ||||||||||||||||||||||||||||||||||||||
roast: a3181cfa7b | (Zoffix Znet)++ | S02-types/sethash.t [v6.d REVIEW] Fix bad Set key container test Original test doesn't actually cover the bug in the ticket Orig: github.com/perl6/roast/commit/0e018d48b |
17:08 | ||||||||||||||||||||||||||||||||||||||
roast: bf3a2159bb | (Zoffix Znet)++ | S02-types/sethash.t [v6.d REVIEW] Cover Bag|Mix in cont key test too Orig: github.com/perl6/roast/commit/0e018d48b |
17:10 | ||||||||||||||||||||||||||||||||||||||
17:18
Fumler joined
17:24
Fumler left
|
|||||||||||||||||||||||||||||||||||||||
TimToady | m: say “a” ~~ /(b)? a/; say $0 | 17:37 | |||||||||||||||||||||||||||||||||||||
yoleaux | 13 Sep 2018 18:36Z <Zoffix> TimToady: there's an Issue revolving around something you said about `returns`, if you wanted to comment: github.com/rakudo/rakudo/issues/2274 R#2274 | ||||||||||||||||||||||||||||||||||||||
camelia | 「a」 Nil |
||||||||||||||||||||||||||||||||||||||
synopsebot | R#2274 [closed]: github.com/rakudo/rakudo/issues/2274 Future removal of returns? | ||||||||||||||||||||||||||||||||||||||
TimToady | m: say “a” ~~ /(b) ** 0..1 a/; say $0 | ||||||||||||||||||||||||||||||||||||||
camelia | 「a」 [] |
||||||||||||||||||||||||||||||||||||||
TimToady | tbrowder__: ^^^ here is the actual difference | 17:38 | |||||||||||||||||||||||||||||||||||||
that is, it doesn't make a difference when quantifying a mere string, only when capturing | 17:41 | ||||||||||||||||||||||||||||||||||||||
m: say “ba” ~~ /(b) a/; say $0 | 17:43 | ||||||||||||||||||||||||||||||||||||||
camelia | 「ba」 0 => 「b」 「b」 |
||||||||||||||||||||||||||||||||||||||
TimToady | m: say “ba” ~~ /(b) ** 1 a/; say $0 | ||||||||||||||||||||||||||||||||||||||
camelia | 「ba」 0 => 「b」 [「b」] |
||||||||||||||||||||||||||||||||||||||
TimToady | basically quantified captures always produce lists of captures | 17:44 | |||||||||||||||||||||||||||||||||||||
so we use ** when we plan to feed the result to a "for", whereas ? is more for intended for "if" or "with" processing, hence a scalar the defined match or Nil is more appropriate | 17:47 | ||||||||||||||||||||||||||||||||||||||
hmm, that's almost English... | |||||||||||||||||||||||||||||||||||||||
...a scalar thing, the defined match or Nil, is... | 17:49 | ||||||||||||||||||||||||||||||||||||||
as for why it uses ** 0..1 in the grammar, ? used to return a list, so that was a quick hack to continue to feed the results to action routines that expected a list | 17:53 | ||||||||||||||||||||||||||||||||||||||
as you discovered :) | |||||||||||||||||||||||||||||||||||||||
tbrowder__ | Thanks! | 18:05 | |||||||||||||||||||||||||||||||||||||
18:45
kilogram joined,
ohama17 joined
18:47
lizmat joined
18:48
kilogram left,
p6bannerbot sets mode: +v lizmat
18:51
ohama17 left
|
|||||||||||||||||||||||||||||||||||||||
lizmat | sometimes I feel our methods in Positional / Associative miss a CLEAR method to reset the whole thing | 19:21 | |||||||||||||||||||||||||||||||||||||
timotimo | like binding a new nqp::list or nqp::hash to the storage attribute? | 19:28 | |||||||||||||||||||||||||||||||||||||
lizmat | yeah | 19:32 | |||||||||||||||||||||||||||||||||||||
I'm now working on an Array::Agnostic role that will do all the stuff that Arrays do | |||||||||||||||||||||||||||||||||||||||
but without needIng to know how the representation is | 19:33 | ||||||||||||||||||||||||||||||||||||||
if I want to do something like .STORE, then I need to do repeated DELETE-POS's from the end back | |||||||||||||||||||||||||||||||||||||||
samcv | b2gills: i'm working on a streaming utf16 decoder fyi | 19:36 | |||||||||||||||||||||||||||||||||||||
b2gills | \O/ | 20:05 | |||||||||||||||||||||||||||||||||||||
samcv | yay it works | 20:10 | |||||||||||||||||||||||||||||||||||||
b2gills | 「\O/」 xx 16 | 20:11 | |||||||||||||||||||||||||||||||||||||
samcv | b2gills: would you mind testing it? | 20:12 | |||||||||||||||||||||||||||||||||||||
b2gills | I was just reporting something I found while responding on the users mailing list | ||||||||||||||||||||||||||||||||||||||
samcv | ah ok | ||||||||||||||||||||||||||||||||||||||
i thought it was you who needed it | |||||||||||||||||||||||||||||||||||||||
b2gills | I put utf16 data into a file and used `run <cat test.in>, :out, :enc<utf16>` | 20:13 | |||||||||||||||||||||||||||||||||||||
The other people were saying to remove the nulls after decoding which is a good way to end up with mojibake | 20:15 | ||||||||||||||||||||||||||||||||||||||
samcv | b2gills: is there an online place i can read the mailing list? also just pushed the utf16 decodestream code | 20:29 | |||||||||||||||||||||||||||||||||||||
i think i might bump nqp later | 20:30 | ||||||||||||||||||||||||||||||||||||||
so now we'll be able to do decodestream, so .lines and others, plus i fixed the issue of writing a 16 bit buffer | 20:31 | ||||||||||||||||||||||||||||||||||||||
b2gills | www.nntp.perl.org/group/perl.perl6...g5551.html | ||||||||||||||||||||||||||||||||||||||
samcv | though i'm guessing utf16 at least worked some amount? | ||||||||||||||||||||||||||||||||||||||
b2gills | Str.decode and Str.encode | 20:32 | |||||||||||||||||||||||||||||||||||||
samcv | i never tested: open 'foo', :w, :enc<utf16>; $fh.print('blah') | ||||||||||||||||||||||||||||||||||||||
^or did this not work due to unimplemented functionality i fixed yesterday? | |||||||||||||||||||||||||||||||||||||||
b2gills | All I was did was test `run(<cat test.in>, :out, :enc<utf16>).out.lines` | 20:33 | |||||||||||||||||||||||||||||||||||||
I put the data into test.in using echo on the command line | |||||||||||||||||||||||||||||||||||||||
samcv | m: my $fh = open 'test', :w, :enc<utf16>; $fh.print('testing') | ||||||||||||||||||||||||||||||||||||||
camelia | open is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting line 1 in sub open at src/RESTRICTED.setting line 9 in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
samcv | let me roll back my moarvm and test all these so i know where we were at before | 20:34 | |||||||||||||||||||||||||||||||||||||
timotimo | evalable6: my $fh = open 'test', :w, :enc<utf16>; $fh.print('testing') | ||||||||||||||||||||||||||||||||||||||
evalable6 | (exit code 1) Too many positionals passed; expected 1 argument but got 2 in block <unit> at /tmp/74S6p5EZlH line 1 |
||||||||||||||||||||||||||||||||||||||
samcv | ok. .print did not work at all. | ||||||||||||||||||||||||||||||||||||||
timotimo | evalable6: my $fh = open 'test', :w, :enc<utf16>; say $fh.perl | ||||||||||||||||||||||||||||||||||||||
evalable6 | Failure.new(exception => X::AdHoc.new(payload => "Failed to open file /home/bisectable/git/whateverable/test: Read-only file system"), backtrace => Backtrace.new) | ||||||||||||||||||||||||||||||||||||||
samcv | ok well that's good that our utf16 enncoding is now functional | 20:35 | |||||||||||||||||||||||||||||||||||||
timotimo | evalable6: my $fh = open '/tmp/test', :w, :enc<utf16>; $fh.print('testing') | ||||||||||||||||||||||||||||||||||||||
evalable6 | (exit code 1) write_fhb requires a native array of uint8 or int8 in block <unit> at /tmp/0j1rpfRQtc line 1 |
||||||||||||||||||||||||||||||||||||||
samcv goes to bump nqp and rakudo | |||||||||||||||||||||||||||||||||||||||
Geth | nqp: cb3d9562e2 | (Samantha McVey)++ | tools/build/MOAR_REVISION Bump MoarVM to get utf16 fh write and decodestream support Changes: 2018.08-70-g1d68871d0..2018.08-80-g578c2f762 578c2f762 Add support for utf-16 decodestream 3388d1229 Fix wrong field in exprjit cast and add macro 51f2db579 Add support in write_fhb op for writing 16 bit VM arrays 848f74e37 Add exprjit macros for register type constants 18cb687c4 Add ^zero/^one exprjit macros for 0 and 1 integers 2025a47da Use SIZEOF_MEMBER instead of literal in exprjit 7567696e2 Pass MVMRegister to lexical-binding fn for exprjit ccf3dd373 Fix alignment of nursery allocations |
20:36 | |||||||||||||||||||||||||||||||||||||
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...g578c2f762 | |||||||||||||||||||||||||||||||||||||||
samcv | tbh i assumed we had working utf16, otherwise i would have fixed this earlier :P but i never tested it | ||||||||||||||||||||||||||||||||||||||
well we had encode and decode support, but never tested the other ones. so glad you brought that to my attention b2gills++ | 20:37 | ||||||||||||||||||||||||||||||||||||||
b2gills | I assume it was just overlooked when the streaming API was added | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 8fcebb8615 | (Samantha McVey)++ | tools/build/NQP_REVISION Bump Moar/NQP to get utf16 decodestream and fh write support Changes: 2018.08-52-g000fea1..2018.08-63-gcb3d9562e cb3d9562e Bump MoarVM to get utf16 fh write and decodestream support d46ad39b5 [decodelocaltime] Make test less sensitivve to timezone a7351c4a0 put the name of the SC in every type's extra info 88e732216 bump moarvm to get new profiler data structure ... (6 more lines) |
20:38 | |||||||||||||||||||||||||||||||||||||
¦ rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....gcb3d9562e | |||||||||||||||||||||||||||||||||||||||
roast: aaa23d062e | (Zoffix Znet)++ | S32-array/pop.t Remove trailing whitespace |
20:48 | ||||||||||||||||||||||||||||||||||||||
roast: 5eba41d42f | (Zoffix Znet)++ | S32-array/pop.t [v6.d REVIEW] Reformat ghost el tests + add plan Orig: github.com/perl6/roast/commit/2973f845c |
20:49 | ||||||||||||||||||||||||||||||||||||||
roast: e5a48ebc39 | (Zoffix Znet)++ | S32-array/pop.t [v6.d REVIEW] Cover :delete in ghost el test Orig: github.com/perl6/roast/commit/2973f845c |
|||||||||||||||||||||||||||||||||||||||
samcv | b2gills: would you mind responding and say utf16 has been added to the latest master? | 20:50 | |||||||||||||||||||||||||||||||||||||
since i'm not on the mailing list | |||||||||||||||||||||||||||||||||||||||
b2gills | I did | 20:51 | |||||||||||||||||||||||||||||||||||||
samcv | ok cool :) | ||||||||||||||||||||||||||||||||||||||
Geth | roast: 589f65b788 | (Zoffix Znet)++ | S32-io/io-handle.t [v6.d REVIEW] Toss IO::Handle.new.encoding test There are several indications[^1][^2][^3] that we might want to remove .new in the future entirely or at least not set up the encoding until the open call, and this test would interfere with that. [1] colabti.org/irclogger/irclogger_log...07-11#l201 [2] github.com/rakudo/rakudo/issues/2039 R#2039 [3] github.com/rakudo/rakudo/issues/2049 R#2049 [4] github.com/rakudo/rakudo/issues/2050 R#2050 |
21:02 | |||||||||||||||||||||||||||||||||||||
synopsebot | R#2039 [open]: github.com/rakudo/rakudo/issues/2039 [IO][LTA] LTA IO::Handle.encoding can have a value, but no valid decoder is setup | ||||||||||||||||||||||||||||||||||||||
synopsebot | R#2049 [open]: github.com/rakudo/rakudo/issues/2049 [IO] IO::CatHandle.encoding mismatched with IO::Handle.encoding | ||||||||||||||||||||||||||||||||||||||
synopsebot | R#2050 [open]: github.com/rakudo/rakudo/issues/2050 [IO] IO::[Cat]Handle.open missing some encoding options | ||||||||||||||||||||||||||||||||||||||
21:05
oldlaptop22 joined,
oldlaptop22 left
21:12
PufferBot joined
21:13
p6bannerbot sets mode: +v PufferBot
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: e730fb0781 | (Zoffix Znet)++ | S32-io/io-handle.t [v6.d REVIEW] Fix IO::Handle.flush test We make the first write unbuffered to test if we can write to a handle at all, so to trigger buffering we have to perform two separate writes and only the second one will buffer. Orig: github.com/perl6/roast/commit/449561528 |
21:50 | |||||||||||||||||||||||||||||||||||||
roast: 4c89683050 | (Zoffix Znet)++ | S32-io/io-spec-win.t [v6.d REVIEW] Loosen IO::Path::Win32.absolute test Do not force implementations to use the same path separator that was used during path's creation. Simply test the combiners on existing seps don't cause addition of another sep before it. Orig: github.com/perl6/roast/commit/8ee0a0a6a |
21:57 | ||||||||||||||||||||||||||||||||||||||
roast: 1f26d0b796 | (Zoffix Znet)++ | S32-io/io-handle.t [v6.d REVIEW] Toss .nl-in on unopened handle tests There are several indications[^1][^2][^3] that we might want to restrict functionalities of unopened handles. Remove these proptests to ensure they don't interfere with that plan in the future [1] colabti.org/irclogger/irclogger_log...07-11#l201 [2] github.com/rakudo/rakudo/issues/2039 R#2039 [3] github.com/rakudo/rakudo/issues/2049 R#2049 [4] github.com/rakudo/rakudo/issues/2050 R#2050 |
22:01 | ||||||||||||||||||||||||||||||||||||||
synopsebot | R#2039 [open]: github.com/rakudo/rakudo/issues/2039 [IO][LTA] LTA IO::Handle.encoding can have a value, but no valid decoder is setup | ||||||||||||||||||||||||||||||||||||||
synopsebot | R#2049 [open]: github.com/rakudo/rakudo/issues/2049 [IO] IO::CatHandle.encoding mismatched with IO::Handle.encoding | ||||||||||||||||||||||||||||||||||||||
synopsebot | R#2050 [open]: github.com/rakudo/rakudo/issues/2050 [IO] IO::[Cat]Handle.open missing some encoding options | ||||||||||||||||||||||||||||||||||||||
roast: 92be0841ac | (Zoffix Znet)++ | S32-io/open.t [v6.d REVIEW] Remove 6.d TODO comment for .encoding Yes, it's inconsistent, but likely in a fairly heavy use and we have a million other inconsistent things too, so we'll delay doing anything breaking about this until the Great Inconsistencies Refactor some time in the future |
22:18 | ||||||||||||||||||||||||||||||||||||||
roast: ebcf115187 | (Zoffix Znet)++ | S32-io/io-handle.t [v6.d REVIEW] Toss unopened handle .encoding tests There are several indications[^1][^2][^3] that we might want to restrict functionalities of unopened handles. Remove these proptests to ensure they don't interfere with that plan in the future [1] colabti.org/irclogger/irclogger_log...07-11#l201 [2] github.com/rakudo/rakudo/issues/2039 R#2039 [3] github.com/rakudo/rakudo/issues/2049 R#2049 [4] github.com/rakudo/rakudo/issues/2050 R#2050 |
22:21 | ||||||||||||||||||||||||||||||||||||||
synopsebot | R#2039 [open]: github.com/rakudo/rakudo/issues/2039 [IO][LTA] LTA IO::Handle.encoding can have a value, but no valid decoder is setup | ||||||||||||||||||||||||||||||||||||||
synopsebot | R#2049 [open]: github.com/rakudo/rakudo/issues/2049 [IO] IO::CatHandle.encoding mismatched with IO::Handle.encoding | ||||||||||||||||||||||||||||||||||||||
synopsebot | R#2050 [open]: github.com/rakudo/rakudo/issues/2050 [IO] IO::[Cat]Handle.open missing some encoding options | ||||||||||||||||||||||||||||||||||||||
roast: 40adba0df9 | (Zoffix Znet)++ | S32-io/io-path.t [v6.d REVIEW] Don't lock path sep for Win32 .parts Permit either \ or / sep used Orig: github.com/perl6/roast/commit/fb61306aa |
22:26 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | what is Zef actually doing when it says | 22:32 | |||||||||||||||||||||||||||||||||||||
===> Searching for: CSS::Grammar | |||||||||||||||||||||||||||||||||||||||
in others words, why does it take so long? | 22:33 | ||||||||||||||||||||||||||||||||||||||
Geth | roast: 205aa81d1c | (Zoffix Znet)++ | S32-io/io-spec-unix.t [v6.d REVIEW] use more precise test for .path Orig: github.com/perl6/roast/commit/726652269 |
22:42 | |||||||||||||||||||||||||||||||||||||
roast: 84da99b988 | (Zoffix Znet)++ | S32-io/io-spec-unix.t Fudge .path test as it gives improper empty Seq R#2281 github.com/rakudo/rakudo/issues/2281 |
22:43 | ||||||||||||||||||||||||||||||||||||||
synopsebot | R#2281 [open]: github.com/rakudo/rakudo/issues/2281 [6.d review] Problems with `EmptySeq` | ||||||||||||||||||||||||||||||||||||||
Geth | roast: f1839e7831 | (Zoffix Znet)++ | S32-io/io-spec-unix.t Revert "Fudge .path test as it gives improper empty Seq" This reverts commit 84da99b98819dc2e5e742486cd33862503ae0bcf. Invalid fudge |
22:45 | |||||||||||||||||||||||||||||||||||||
roast: d0f6ba70dc | (Zoffix Znet)++ | S32-io/io-spec-unix.t Fudge .path test as it gives improper empty Seq R#2281 github.com/rakudo/rakudo/issues/2281 |
|||||||||||||||||||||||||||||||||||||||
synopsebot | R#2281 [open]: github.com/rakudo/rakudo/issues/2281 [6.d review] Problems with `EmptySeq` | ||||||||||||||||||||||||||||||||||||||
Geth | roast: 81382e15fd | (Zoffix Znet)++ | S32-io/io-spec-win.t [v6.d REVIEW] Loosen IO::Spec::Win32.path tests Allow either separator to be used in the result Orig: github.com/perl6/roast/commit/6ac3b4aab |
22:50 | |||||||||||||||||||||||||||||||||||||
rakudo: b1a07f0935 | (Zoffix Znet)++ | t/02-rakudo/99-misc.t [v6.d REVIEW] Move IO::Handle.perl.EVAL test to rakudo suite Handles are a bit of a weird thing to roundtrip through eval and we don't keep the openness, file descriptor, nor file position, so it's possible in the future we'd die, similar to how (1...*).perl dies. Orig: github.com/perl6/roast/commit/dbbea1572 |
23:12 | ||||||||||||||||||||||||||||||||||||||
roast: d65abd546e | (Zoffix Znet)++ | S32-io/io-handle.t [v6.d REVIEW] Move IO::Handle.perl.EVAL test to rakudo suite Handles are a bit of a weird thing to roundtrip through eval and we don't keep the openness, file descriptor, nor file position, so it's possible in the future we'd die, similar to how (1...*).perl dies. Orig: github.com/perl6/roast/commit/dbbea1572 Moved to: github.com/rakudo/rakudo/commit/b1a07f0935 |
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | --debug doesn't tell much | 23:22 | |||||||||||||||||||||||||||||||||||||
there's a delay before that step and after, without any output | |||||||||||||||||||||||||||||||||||||||
s/after/during/ | 23:24 | ||||||||||||||||||||||||||||||||||||||
23:30
Zoffix joined,
p6bannerbot sets mode: +v Zoffix
|
|||||||||||||||||||||||||||||||||||||||
Zoffix | AlexDaniel: I'm 40% sure that it's reading its local database of things is what it's doing | 23:31 | |||||||||||||||||||||||||||||||||||||
and another 20% is it's parsing the p6c ecosystem JSON | |||||||||||||||||||||||||||||||||||||||
actually swap that, 40% the eco JSON and 20% little database | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | shouldn't be the JSON because it doesn't do that every time | ||||||||||||||||||||||||||||||||||||||
timotimo | AlexDaniel: you know, if you can step to the place you're interested in, and to after it, you can make a perf record | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | at least it doesn't fetch it every time | ||||||||||||||||||||||||||||||||||||||
Zoffix | AlexDaniel: well, it caches it right? That's what zef update does; to update the things? | 23:32 | |||||||||||||||||||||||||||||||||||||
timotimo | that'll show what C functions inside of moarvm are doing stuff | ||||||||||||||||||||||||||||||||||||||
also, valgrind's callgrind can be started "inactive" and activated/deactivated at any point with callgrind_control | |||||||||||||||||||||||||||||||||||||||
23:32
Zoffix left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | timotimo: I'm interested in a high level explanation | 23:34 | |||||||||||||||||||||||||||||||||||||
looked at the source, it's Zef::Repository doing *something* | |||||||||||||||||||||||||||||||||||||||
timotimo | so you were using the debugserver and stepping through? | ||||||||||||||||||||||||||||||||||||||
hey, btw, can we have a bot where i can just say "hey give me a file of this name" and it'll just DWIM? | 23:35 | ||||||||||||||||||||||||||||||||||||||
like, could i ask for Zef/Repository.pm6 and, like, it'll go to the right repo and make a link to github? | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | can be done, yes | ||||||||||||||||||||||||||||||||||||||
timotimo | using perl6-all-repos (which is on the whateverable server already anyway, right?) and rakudo's and nqp's sources | ||||||||||||||||||||||||||||||||||||||
and why not also moarvm's | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | in fact I wanted to do something like this for a long time, at least for the commit shas and stuff | ||||||||||||||||||||||||||||||||||||||
timotimo | let's call it travelable | 23:36 | |||||||||||||||||||||||||||||||||||||
or locatable, or scryable | |||||||||||||||||||||||||||||||||||||||
FWIW, it could also be merged into SourceBaby | 23:37 | ||||||||||||||||||||||||||||||||||||||
just from what else it does | |||||||||||||||||||||||||||||||||||||||
and the name | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | timotimo: no I'm not using the debugserver, I was just wondering why this first seemingly trivial step takes 10 seconds which is like… half of the installation time (the rest being running tests and other reasonable stuff) | 23:38 | |||||||||||||||||||||||||||||||||||||
I was thinking maybe everyone else knows :) | |||||||||||||||||||||||||||||||||||||||
timotimo | ah | ||||||||||||||||||||||||||||||||||||||
maybe strace can show something, though it's not very likely it's system time | 23:39 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | ugexe++ did add some parallelization recently: github.com/ugexe/zef/commit/b59692...e14c0c8720 | ||||||||||||||||||||||||||||||||||||||
I guess to resolve that exact issue | |||||||||||||||||||||||||||||||||||||||
timotimo | what command should i use to get the same "benchmark" you're getting? | 23:40 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | timotimo: time zef install JSON::Fast :) | ||||||||||||||||||||||||||||||||||||||
timotimo | my ram is, once again, almost filled to the brim :\ | 23:41 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | “Speeds up `zef update` from 4.3s to 7.8s ( and consequently anytime `zef install ...` runs an auto update )” | ||||||||||||||||||||||||||||||||||||||
23:41
PufferBot left
|
|||||||||||||||||||||||||||||||||||||||
timotimo | All candidates are currently installed | 23:41 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | the numbers are other way round, but it makes sense | ||||||||||||||||||||||||||||||||||||||
timotimo | 5.25user 0.07system 0:04.48elapsed 118%CPU (0avgtext+0avgdata 133956maxresident)k | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | timotimo: uninstall, then install again | ||||||||||||||||||||||||||||||||||||||
timotimo | ok | 23:42 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | you can use --dry so that it doesn't install every time | ||||||||||||||||||||||||||||||||||||||
so it's doing something for cpan, and something for the github ecosystem | |||||||||||||||||||||||||||||||||||||||
.race basically made it run stuff in two threads, so it halved the time | 23:43 | ||||||||||||||||||||||||||||||||||||||
timotimo | it could probably get the mirror updates in parallel, too | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | but still, what is it doing | ||||||||||||||||||||||||||||||||||||||
timotimo | so we're interested in the time between start and "==> Searching for: JSON::Fast"? | 23:44 | |||||||||||||||||||||||||||||||||||||
or for the time after that? | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | timotimo: between `Searching for` and the next step | ||||||||||||||||||||||||||||||||||||||
timotimo: there's also a delay before it gets to that point, which also feels like it shouldn't be there | 23:45 | ||||||||||||||||||||||||||||||||||||||
timotimo | --debug only? | ||||||||||||||||||||||||||||||||||||||
let me see if i can/should update zef | 23:46 | ||||||||||||||||||||||||||||||||||||||
i seem to have 0.4.4 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | if you want to see parallelization in action then yes, likely | ||||||||||||||||||||||||||||||||||||||
you also need rakudo 2018.08 or later | |||||||||||||||||||||||||||||||||||||||
timotimo | i'm on HEAD, or something close by | 23:47 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | timotimo: fwiw it's already does fetching in parallel, or so it seems | ||||||||||||||||||||||||||||||||||||||
timotimo | it didn't in my ooooold version ;) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | time zef --dry --/test --/build install JSON::Fast | 23:48 | |||||||||||||||||||||||||||||||||||||
timotimo: ↑ try this | |||||||||||||||||||||||||||||||||||||||
no tests, no building, no installing | |||||||||||||||||||||||||||||||||||||||
essentially a noop | |||||||||||||||||||||||||||||||||||||||
10 seconds on my machine | |||||||||||||||||||||||||||||||||||||||
because it does “searching” | 23:49 | ||||||||||||||||||||||||||||||||||||||
the reason I'm interested to see that get faster… is that if you have 1000 modules and you do nothing but that | 23:50 | ||||||||||||||||||||||||||||||||||||||
m: say 1000 × 10 ÷ 60 ÷ 60 | |||||||||||||||||||||||||||||||||||||||
camelia | 2.777778 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | ↑ 2.7 hours? | ||||||||||||||||||||||||||||||||||||||
timotimo | whoops :) | 23:51 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | ok surely I'll run multiple processes so it'll faster, but still | 23:52 | |||||||||||||||||||||||||||||||||||||
timotimo | oh, my moarvm is currently built without optimization, so it'll be a bit slower | 23:53 | |||||||||||||||||||||||||||||||||||||
trying to --profile it, it makes something related to nfas EXPLODE | 23:54 | ||||||||||||||||||||||||||||||||||||||
MoarVM panic: Memory allocation failed; could not allocate 27021889821999112 bytes | |||||||||||||||||||||||||||||||||||||||
turning spesh off makes it go away, brilliant | 23:55 | ||||||||||||||||||||||||||||||||||||||
haha, i can't analyze the profile because i don't have JSON::Fast installed :D | 23:57 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | heh | ||||||||||||||||||||||||||||||||||||||
can be any other module | |||||||||||||||||||||||||||||||||||||||
Color is a good choice probably cuz no deps | 23:58 | ||||||||||||||||||||||||||||||||||||||
timotimo | sounds good | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | it does test-depend on Test but IIRC zef should just ignore that | ||||||||||||||||||||||||||||||||||||||
23:58
MasterDuke joined,
p6bannerbot sets mode: +v MasterDuke
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | also we're not testing… :) | 23:59 | |||||||||||||||||||||||||||||||||||||
23:59
MasterDuke left,
MasterDuke joined,
herbert.freenode.net sets mode: +v MasterDuke,
p6bannerbot sets mode: +v MasterDuke
|