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. |
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: patzim++ created pull request #2842: Fix build runners |
00:02 | |||||||||||||||||||||||||||||||||||||
patrickz | .tell vrurg I made a change to the build system (r#2842). Once that's merged I'll have a look at your branch and try to incorporate the change there as well. | 00:04 | |||||||||||||||||||||||||||||||||||||
yoleaux | patrickz: I'll pass your message to vrurg. | ||||||||||||||||||||||||||||||||||||||
synopsebot | R#2842 [open]: github.com/rakudo/rakudo/pull/2842 Fix build runners | ||||||||||||||||||||||||||||||||||||||
vrurg | patrickz: ok, thanks! | 00:05 | |||||||||||||||||||||||||||||||||||||
yoleaux | 00:04Z <patrickz> vrurg: I made a change to the build system (r#2842). Once that's merged I'll have a look at your branch and try to incorporate the change there as well. | ||||||||||||||||||||||||||||||||||||||
patrickz | Time for bed. o/ | 00:06 | |||||||||||||||||||||||||||||||||||||
00:06
patrickz left
00:20
AlexDaniel left
01:23
vrurg left,
vrurg joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | nqp: 56c12ad070 | (Daniel Green)++ | src/HLL/Compiler.nqp Whitespace fixes |
02:29 | |||||||||||||||||||||||||||||||||||||
03:27
Kaiepi left
03:29
Kaiepi joined
04:18
Kaiepi left
04:23
SqrtNegInf left
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: 25b776bc0b | usev6++ | S32-io/mkdir_rmdir.t [JVM] Unfudge now passing test Fixed with github.com/perl6/nqp/commit/3921b1e6c7 |
04:47 | |||||||||||||||||||||||||||||||||||||
05:36
b2gills left
06:02
b2gills joined
06:11
SqrtNegInf joined
06:25
SmokeMachine left
|
|||||||||||||||||||||||||||||||||||||||
lizmat | Files=1255, Tests=90107, 398 wallclock secs (23.56 usr 7.10 sys + 2823.79 cusr 240.67 csys = 3095.12 CPU) | 06:33 | |||||||||||||||||||||||||||||||||||||
06:33
SmokeMachine joined
06:42
SmokeMachine left
06:51
ufobat_ joined
06:52
SmokeMachine joined
06:55
ufobat left
|
|||||||||||||||||||||||||||||||||||||||
lizmat | .tell kawaii I have a slight preference for a release before the PTS, which is on 25-28 April: work will be done on the CUR subsystem with potential ecosystem fallout | 07:19 | |||||||||||||||||||||||||||||||||||||
yoleaux | lizmat: I'll pass your message to kawaii. | ||||||||||||||||||||||||||||||||||||||
kawaii | o/ | 07:28 | |||||||||||||||||||||||||||||||||||||
yoleaux | 07:19Z <lizmat> kawaii: I have a slight preference for a release before the PTS, which is on 25-28 April: work will be done on the CUR subsystem with potential ecosystem fallout | ||||||||||||||||||||||||||||||||||||||
lizmat | kawaii o\ | ||||||||||||||||||||||||||||||||||||||
kawaii | lizmat: I will see if we can cut the release early next week then, this week I am moving to a new apartment so a little busy IRL :) | 07:29 | |||||||||||||||||||||||||||||||||||||
lizmat | kawaii: as I said, a slight preference | ||||||||||||||||||||||||||||||||||||||
if you cut a release branch, then all should be ok | 07:30 | ||||||||||||||||||||||||||||||||||||||
AleksDaniel has done that in the past, not sure if it's now part of standard procedure | |||||||||||||||||||||||||||||||||||||||
07:31
patrickb joined
|
|||||||||||||||||||||||||||||||||||||||
kawaii | I'm going to attempt to cut a 2019.04-rc1 this weekend, just to practice :) | 07:32 | |||||||||||||||||||||||||||||||||||||
lizmat | kawaii++ | 07:34 | |||||||||||||||||||||||||||||||||||||
08:05
SmokeMachine_ joined
08:06
SmokeMachine left,
SmokeMachine_ is now known as SmokeMachine
08:29
go|dfish left
09:27
MasterDuke left
|
|||||||||||||||||||||||||||||||||||||||
lizmat | m: gist.github.com/lizmat/aa814fb0183...d031937600 # timotimo: something like that ? | 10:06 | |||||||||||||||||||||||||||||||||||||
evalable6 | (exit code 1) 04===SORRY!04=== Error while compiling /home/bisectable/git/whā¦ | ||||||||||||||||||||||||||||||||||||||
lizmat, Full output: gist.github.com/2caee5c7532927a160...496be2e7f8 | |||||||||||||||||||||||||||||||||||||||
lizmat | (without the m: :-)) | ||||||||||||||||||||||||||||||||||||||
|Tux| |
|
10:16 | |||||||||||||||||||||||||||||||||||||
20190415 1.669ā20190416 1.666ā20180928 1.662ā20181015 1.659ā20181011 1.647ā | |||||||||||||||||||||||||||||||||||||||
10:17
patrickb left
10:18
patrickb joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: afc9f84949 | (Elizabeth Mattijsen)++ | lib/Telemetry.pm6 Add message capability to snap() snap("checkpoint one") will now store that message with the period and will show it in the report: $ perl6 -e 'use Telemetry; snapper; sleep .2; snap("checkpoint"); sleep .1' Telemetry Report of Process #89112 (2019-04-16T10:18:37Z) ... (14 more lines) |
10:20 | |||||||||||||||||||||||||||||||||||||
timotimo | lizmat: oops, i just saw that | ||||||||||||||||||||||||||||||||||||||
timotimo | it looks quite good, yeah! | ||||||||||||||||||||||||||||||||||||||
10:20
patrickb left
|
|||||||||||||||||||||||||||||||||||||||
timotimo | hm, though snap("foo") doesn't read very well for the "insert this into the profiler's data" use case | 10:21 | |||||||||||||||||||||||||||||||||||||
lizmat | so what would read well then ? | ||||||||||||||||||||||||||||||||||||||
checkpoint("foo") ? | 10:22 | ||||||||||||||||||||||||||||||||||||||
timotimo | i'd like that wording | 10:23 | |||||||||||||||||||||||||||||||||||||
though not entirely sure about putting subs in the main namespace when Telemetry is used; that's why i thought of T<checkpoint> = "hi" | |||||||||||||||||||||||||||||||||||||||
snap is probably not something user code would be likely to have, but "checkpoint" seems like a much more common word maybe? | 10:24 | ||||||||||||||||||||||||||||||||||||||
greppable6: checkpoint | |||||||||||||||||||||||||||||||||||||||
greppable6 | timotimo, 19 lines, 7 modules: gist.github.com/2f41a56827d91853e5...81538ecd0f | ||||||||||||||||||||||||||||||||||||||
timotimo | ok, not really used yet at all in the ecosystem at least | ||||||||||||||||||||||||||||||||||||||
lizmat | timotimo: the thing is that T creates a throwaway Telemetry object and gives you the current values for that | 10:25 | |||||||||||||||||||||||||||||||||||||
it won't get snapped, so it won't appear in snapper output | |||||||||||||||||||||||||||||||||||||||
timotimo | mhhh, i see | ||||||||||||||||||||||||||||||||||||||
though my first thought was to return a Proxy from that specific lookup | |||||||||||||||||||||||||||||||||||||||
so that assigning to it would be "an action" | 10:26 | ||||||||||||||||||||||||||||||||||||||
but that's pretty "foreign" to the current telemetry api, so we can probably forget about that :) | |||||||||||||||||||||||||||||||||||||||
lizmat | technically, I could have T<checkpoint> = "foo" create a Telemetry object and have that snapped, but that feels too magic to me | ||||||||||||||||||||||||||||||||||||||
especially since you can create your own Telemetry instruments, which could interfere with <checkpoint> | 10:27 | ||||||||||||||||||||||||||||||||||||||
timotimo | that makes sense | ||||||||||||||||||||||||||||||||||||||
10:31
patrickb joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | wrt to snapshot maker, that could be a named arg to snap() | 10:32 | |||||||||||||||||||||||||||||||||||||
*heap snapshot | 10:33 | ||||||||||||||||||||||||||||||||||||||
snap( :heap ) | |||||||||||||||||||||||||||||||||||||||
10:34
patrickb left,
patrickb joined
10:37
patrickb left
|
|||||||||||||||||||||||||||||||||||||||
lizmat wonders if we lost Travis? | 11:13 | ||||||||||||||||||||||||||||||||||||||
just found out that "make test" isn't clean... and I borked that yesterday already | |||||||||||||||||||||||||||||||||||||||
timotimo | travis seems to think that "make test" is clean | 11:14 | |||||||||||||||||||||||||||||||||||||
maybe you have to "make install" first? | |||||||||||||||||||||||||||||||||||||||
lizmat | that shouldn't be necessary | 11:16 | |||||||||||||||||||||||||||||||||||||
timotimo | jnthn has complained recently that he had to do that | 11:17 | |||||||||||||||||||||||||||||||||||||
but perhaps that was only for moarvm changes, not perl6 changes | |||||||||||||||||||||||||||||||||||||||
wow, the jvm builds take a loooong time, don't they? | 11:18 | ||||||||||||||||||||||||||||||||||||||
lizmat | hmmm... can't reproduce it anymore either now.... weird | 11:19 | |||||||||||||||||||||||||||||||||||||
timotimo | looks like they always hit the 50 minute timeout | 11:20 | |||||||||||||||||||||||||||||||||||||
lizmat | m: dd sprintf('%+.0d',0) | 11:34 | |||||||||||||||||||||||||||||||||||||
evalable6 | "+" | ||||||||||||||||||||||||||||||||||||||
lizmat | that's unexpected to me | ||||||||||||||||||||||||||||||||||||||
but consistent with Perl 5 | 11:35 | ||||||||||||||||||||||||||||||||||||||
11:50
AlexDaniel` joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: d69eba76f8 | (Elizabeth Mattijsen)++ | S32-str/sprintf-d.t Parameterize sprintf testing of "d" and "i" formats Mostly intended to register the behaviour of the current sprintf implementation, which was not testing some combinations of flags and values. |
11:58 | |||||||||||||||||||||||||||||||||||||
rakudo: 91218bccc3 | (Elizabeth Mattijsen)++ | t/spectest.data Add extensive testing of "d" and "i" formats in sprintf |
12:00 | ||||||||||||||||||||||||||||||||||||||
roast: 505f5c23c3 | (Elizabeth Mattijsen)++ | S32-str/sprintf-d.t Oops, forgot to disable debugging help |
12:02 | ||||||||||||||||||||||||||||||||||||||
timotimo | oh lizmat btw you can already put support in for heap snapshots; all you need to put there is nqp::startprofile followed by nqp::endprofile with the heap snapshot profile type passed in a hash | 12:10 | |||||||||||||||||||||||||||||||||||||
lizmat | are those nqp ops documented ? | 12:13 | |||||||||||||||||||||||||||||||||||||
timotimo | oh, perhaps not | 12:14 | |||||||||||||||||||||||||||||||||||||
nope | |||||||||||||||||||||||||||||||||||||||
lizmat | that would help :-) | 12:15 | |||||||||||||||||||||||||||||||||||||
timotimo | perhaps that's what i'll do right now | ||||||||||||||||||||||||||||||||||||||
oh it's mvmstartprofile apparently | |||||||||||||||||||||||||||||||||||||||
lizmat | m: say sprintf("%#o",-64) # another one that looks like it's off | 12:24 | |||||||||||||||||||||||||||||||||||||
evalable6 | 0-100 | ||||||||||||||||||||||||||||||||||||||
timotimo | the cat is now on my lap and if i don't hold his butt with my left hand he starts slipping which causes the positioning claws to extend straight into my legs %) | 12:36 | |||||||||||||||||||||||||||||||||||||
makes it hard to write that documentation | |||||||||||||||||||||||||||||||||||||||
lizmat | .oO( devs will do anything to prevent documenting :-) |
12:38 | |||||||||||||||||||||||||||||||||||||
Geth | nqp: 3093f22f34 | timo++ (committed using GitHub Web editor) | docs/ops.markdown document mvmstartprofile and mvmendprofile |
12:40 | |||||||||||||||||||||||||||||||||||||
nqp: 8fe62740a3 | timo++ (committed using GitHub Web editor) | docs/ops.markdown fix formatting |
12:42 | ||||||||||||||||||||||||||||||||||||||
12:44
tyil[m] joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | Sometimes I feel we need a hook for this as well: github.com/perl6/problem-solving/issues/11 | 12:52 | |||||||||||||||||||||||||||||||||||||
"sprintf is a mess" | |||||||||||||||||||||||||||||||||||||||
timotimo | Python has variants that could be worth a look | 12:57 | |||||||||||||||||||||||||||||||||||||
pyformat.info/ | 13:00 | ||||||||||||||||||||||||||||||||||||||
13:13
Kaiepi joined
13:16
Kaiepi left,
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: 50851f8882 | (Elizabeth Mattijsen)++ | S32-str/sprintf-o.t Parameterize sprintf testing of "o" formats THIS IS TESTING FOR THE CURRENT BROKEN BEHAVIOUR OF sprintf("%o"), while we can hopefully decide on a way forward: github.com/perl6/problem-solving/issues/11 |
13:45 | |||||||||||||||||||||||||||||||||||||
13:45
sivoais left
|
|||||||||||||||||||||||||||||||||||||||
13:46
sivoais joined
13:47
lucasb joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: 873de2da53 | (Elizabeth Mattijsen)++ | t/spectest.data Add extensive testing of "o" format in sprintf |
13:47 | |||||||||||||||||||||||||||||||||||||
13:52
Guest2775 joined
13:53
patrickb joined
14:04
AlexDaniel joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | afk for a bit& | 14:05 | |||||||||||||||||||||||||||||||||||||
14:05
tyil[m] left
14:06
AlexDaniel` left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | hehe | 14:11 | |||||||||||||||||||||||||||||||||||||
can't commit, can't merge my own pull request | |||||||||||||||||||||||||||||||||||||||
14:17
discord6 left,
discord6 joined,
discord6 left,
discord6 joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: I'm so happy to see github.com/perl6/problem-solving/issues/11 :) | 14:25 | |||||||||||||||||||||||||||||||||||||
m: say ā$0 $1 $2ā with $/ = <5 6 7> | 14:30 | ||||||||||||||||||||||||||||||||||||||
evalable6 | Cannot test 873de2da53cb31c695aabe0edc983ff4718cec65 (Commit exists, but a perl6 executable could not be built for it) | ||||||||||||||||||||||||||||||||||||||
14:30
reportable6 left,
shareable6 left
14:31
reportable6 joined,
ChanServ sets mode: +v reportable6
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | c: HEAD^ say ā$0 $1 $2ā with $/ = <5 6 7> | 14:31 | |||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, Ā¦HEAD^: Ā«5 6 7ā¤Ā» | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | heh | 14:32 | |||||||||||||||||||||||||||||||||||||
14:33
AlexDaniel` joined
14:34
shareable6 joined,
ChanServ sets mode: +v shareable6
|
|||||||||||||||||||||||||||||||||||||||
releasable6 | Next release in ā4 days and ā3 hours. 12 blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft | 15:00 | |||||||||||||||||||||||||||||||||||||
15:01
tyil[m] joined
15:10
llfourn left
15:29
patrickb left
15:36
patrickb joined
15:41
pmurias joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | Geth: help | 15:50 | |||||||||||||||||||||||||||||||||||||
Geth | AlexDaniel, Source at github.com/perl6/geth To add repo, add an 'application/json' webhook on GitHub pointing it to hack.p6c.org:8888/?chan=%23perl6,%23perl6-dev and choose 'Send me everything' for events to send | use `ver URL to commit` to fetch version bump changes | ||||||||||||||||||||||||||||||||||||||
problem-solving: 146ed82b73 | (Aleks-Daniel Jakimenko-Aleksejev)++ | solutions/meta/00002 ā Problem Solving.md Fix link to the README |
15:53 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | weekly: first PR in the problem solving repo was merged! Yes, the PR is about the problem-solving repo itself. github.com/perl6/problem-solving/pull/2 | 15:55 | |||||||||||||||||||||||||||||||||||||
notable6 | AlexDaniel, Noted! | ||||||||||||||||||||||||||||||||||||||
Geth | nqp/truffle: 0a33ab15fc | (PaweÅ Murias)++ | src/vm/jvm/runtime/org/perl6/nqp/truffle/sixmodel/REPRRegistry.java [truffle] Sort reprs alphabetically |
15:56 | |||||||||||||||||||||||||||||||||||||
nqp/truffle: f314fc7150 | (PaweÅ Murias)++ | 9 files [truffle] Implement Decoder/ConcBlockingQueue/ConditionVariable/ReentrantMutex reprs |
|||||||||||||||||||||||||||||||||||||||
nqp/truffle: c5a9698833 | (PaweÅ Murias)++ | 3 files [truffle] Stub VMArray and VMIter reprs |
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | weekly: please use the problem-solving repo file tickets about issues in the language (previously github.com/rakudo/rakudo/ was used for that) | ||||||||||||||||||||||||||||||||||||||
notable6 | AlexDaniel, Noted! | ||||||||||||||||||||||||||||||||||||||
timotimo | lizmat: opening Telemetry.pm6 gives me an error that the syntax highlighter reached its memory limit and was turned off | 16:02 | |||||||||||||||||||||||||||||||||||||
16:11
pmurias left
|
|||||||||||||||||||||||||||||||||||||||
lizmat | timotimo: odd | 16:26 | |||||||||||||||||||||||||||||||||||||
16:29
AlexDaniel left
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: 395926a5fa | (Elizabeth Mattijsen)++ | S32-str/sprintf-x.t Parameterize sprintf testing of "x" and X formats THIS IS TESTING FOR THE CURRENT BROKEN BEHAVIOUR OF sprintf("%x"), while we hopefully decide on a way forward: github.com/perl6/problem-solving/issues/11 |
16:38 | |||||||||||||||||||||||||||||||||||||
rakudo: 448f525cd3 | (Elizabeth Mattijsen)++ | t/spectest.data Add extensive testing of "x" and "X" formats in sprintf |
16:42 | ||||||||||||||||||||||||||||||||||||||
17:09
llfourn joined
17:21
Kaiepi left
17:25
Kaiepi joined
17:29
Kaiepi left
|
|||||||||||||||||||||||||||||||||||||||
lizmat | m: say sprintf("%02s","") # another weird one, but consistent with Perl 55 | 17:31 | |||||||||||||||||||||||||||||||||||||
evalable6 | 00 | ||||||||||||||||||||||||||||||||||||||
lizmat | *5 | ||||||||||||||||||||||||||||||||||||||
17:32
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
timotimo | lizmat: the perl6 vim syntax has a bug with lines like # foo --------------------- | 17:36 | |||||||||||||||||||||||||||||||||||||
it seems to go exponential or something | |||||||||||||||||||||||||||||||||||||||
lizmat | is it the number of --- ? | 17:37 | |||||||||||||||||||||||||||||||||||||
so you're also saying it was not a recent change I introduced | |||||||||||||||||||||||||||||||||||||||
timotimo | no, it's been that way for a long time | ||||||||||||||||||||||||||||||||||||||
same with the autogenerated native array files, i think | 17:38 | ||||||||||||||||||||||||||||||||||||||
they also have pretty headings and such, don't they? | |||||||||||||||||||||||||||||||||||||||
lizmat | yeah... | 17:39 | |||||||||||||||||||||||||||||||||||||
timotimo | gist.github.com/timo/802d9d04b3ca8...cffd564e2c - making a snap right after starting the snapper lets you get negative wallclock times, that's funny | ||||||||||||||||||||||||||||||||||||||
lizmat | well... what happens there is that you didn't segfault | ||||||||||||||||||||||||||||||||||||||
snap / snapper are pushing to the same array from different threads... | 17:40 | ||||||||||||||||||||||||||||||||||||||
was hoping I wouldn't get caught :-) | |||||||||||||||||||||||||||||||||||||||
timotimo | oh, it pushes literally into an array | ||||||||||||||||||||||||||||||||||||||
that's dangerous :) | |||||||||||||||||||||||||||||||||||||||
lizmat | guess I will have to use the concbllockingqueue | 17:42 | |||||||||||||||||||||||||||||||||||||
timotimo | as long as you don't have to have positional access that should be just fine | 17:44 | |||||||||||||||||||||||||||||||||||||
lizmat | only when making the report | ||||||||||||||||||||||||||||||||||||||
timotimo | that's perfect, then | ||||||||||||||||||||||||||||||||||||||
Telemetry.pm6 can't use #?if moar, right? | 17:45 | ||||||||||||||||||||||||||||||||||||||
so putting nqp::mvmstartprofile in there is not a good idea :| | |||||||||||||||||||||||||||||||||||||||
lizmat | indeed | ||||||||||||||||||||||||||||||||||||||
well, we have constants that indicate the backend | |||||||||||||||||||||||||||||||||||||||
ah yes, but then we'd have to wrap them in an EVAL yuck | |||||||||||||||||||||||||||||||||||||||
timotimo | yep, yuck indeed | 17:46 | |||||||||||||||||||||||||||||||||||||
we could put mvmstartprofile and mvmendprofile on other backends to just throw an "not supported" exception | |||||||||||||||||||||||||||||||||||||||
or maybe we expose it through the HLL Backend, atwo methods on the compiler object perhaps | 17:47 | ||||||||||||||||||||||||||||||||||||||
lizmat | just as a class method on the Compiler class ? | 17:49 | |||||||||||||||||||||||||||||||||||||
timotimo | yeah | 17:50 | |||||||||||||||||||||||||||||||||||||
gist.github.com/timo/802d9d04b3ca8...shot-patch | 17:52 | ||||||||||||||||||||||||||||||||||||||
i have this patch and it misbehaves in the strangest way | |||||||||||||||||||||||||||||||||||||||
the $filename always ends up "heapsnapshot-.mvmheap" with two "use of nil" warnings | |||||||||||||||||||||||||||||||||||||||
and then it errors out trying to unbox a VMNull in the startprofile line ?!? | |||||||||||||||||||||||||||||||||||||||
lizmat | perhaps related to c10fee65c839b7e60fb748dfb5 ? | 17:54 | |||||||||||||||||||||||||||||||||||||
(in MoarVM repo) | |||||||||||||||||||||||||||||||||||||||
timotimo | huh. it shouldn't though? :| | ||||||||||||||||||||||||||||||||||||||
17:54
Kaiepi left
|
|||||||||||||||||||||||||||||||||||||||
timotimo | should be able to see by disabling spesh | 17:54 | |||||||||||||||||||||||||||||||||||||
lizmat | if you mate the $snapshot-idx an Int rather than an int ? | 17:55 | |||||||||||||||||||||||||||||||||||||
*make | |||||||||||||||||||||||||||||||||||||||
timotimo | doesn't help | ||||||||||||||||||||||||||||||||||||||
lizmat | weird | ||||||||||||||||||||||||||||||||||||||
timotimo | but using $(...) instead of {...} did help | 17:56 | |||||||||||||||||||||||||||||||||||||
lizmat | yikes | ||||||||||||||||||||||||||||||||||||||
timotimo | OK, the null error goes away when i put "path" instead of "filename" (because filename isn't correct there) | 17:57 | |||||||||||||||||||||||||||||||||||||
17:57
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | may I say I find the API for nqp::mvmstartprofile in the case of a heap dump, strange ? | 17:59 | |||||||||||||||||||||||||||||||||||||
timotimo | gist.github.com/timo/802d9d04b3ca8...pshots-txt - check it out! | ||||||||||||||||||||||||||||||||||||||
in what way? | |||||||||||||||||||||||||||||||||||||||
lizmat | so what happens if you do not do the mvmendprofile? | ||||||||||||||||||||||||||||||||||||||
timotimo | it'll create a single file that gets a new snapshot every time the gc runs | ||||||||||||||||||||||||||||||||||||||
just like when you --profile=heap | 18:00 | ||||||||||||||||||||||||||||||||||||||
lizmat | ah... hmm... wasn't clear to me from the documentation :-) | ||||||||||||||||||||||||||||||||||||||
timotimo | stopping it immediately makes it take one snapshot and stop, i.e. not one every time the gc runs | ||||||||||||||||||||||||||||||||||||||
i can put some more docs in there | |||||||||||||||||||||||||||||||||||||||
the snap :heap could also take a message, i'm not entirely sure how that should work, though; put the message first, the heap snapshot filename second? | 18:01 | ||||||||||||||||||||||||||||||||||||||
and maybe the :heap named argument could be a path or filename | |||||||||||||||||||||||||||||||||||||||
lizmat | that would make sense to me | 18:02 | |||||||||||||||||||||||||||||||||||||
timotimo | also, now that i'm at it already, why not start work on the stats nqp op, the one that'd expose things like how often the GC ran so far | ||||||||||||||||||||||||||||||||||||||
we'll have the ~fun~ of making that work regardless of backend used, too | |||||||||||||||||||||||||||||||||||||||
Geth | roast: e985c7d7cd | (Elizabeth Mattijsen)++ | S32-str/sprintf-s.t Parameterize sprintf testing of "s" format Mostly intended to register the behaviour of the current sprintf implementation, which was not testing some combinations of flags and values. |
18:03 | |||||||||||||||||||||||||||||||||||||
lizmat | ^^ another bit of fun :-) | ||||||||||||||||||||||||||||||||||||||
timotimo | oh btw, can you think of a way we could subtract time spent taking heap snapshots from the wallclock snap? | 18:04 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: 7ee08bb10f | (Elizabeth Mattijsen)++ | t/spectest.data Add extensive testing of "s" format in sprintf |
||||||||||||||||||||||||||||||||||||||
timotimo | maybe it'd be enough to push two T's; one before and one after taking the snapshot | 18:05 | |||||||||||||||||||||||||||||||||||||
then it'd be clearer how much time is spent taking the snapshot exactly | |||||||||||||||||||||||||||||||||||||||
lizmat | indeed | ||||||||||||||||||||||||||||||||||||||
timotimo | the first T could have the message that's passed as a positional parameter (if one is passed), the second one the filename | 18:06 | |||||||||||||||||||||||||||||||||||||
18:06
AlexDaniel joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | sounds like a pla | 18:06 | |||||||||||||||||||||||||||||||||||||
n | |||||||||||||||||||||||||||||||||||||||
timotimo | check the gist again | 18:07 | |||||||||||||||||||||||||||||||||||||
it looks kind of odd | |||||||||||||||||||||||||||||||||||||||
lizmat | why do you have the snapper running ? | ||||||||||||||||||||||||||||||||||||||
does that add anything ? | 18:08 | ||||||||||||||||||||||||||||||||||||||
timotimo | i guess i don't have to? | ||||||||||||||||||||||||||||||||||||||
lizmat | nope, you don't | ||||||||||||||||||||||||||||||||||||||
snapper is just for continuous watching | |||||||||||||||||||||||||||||||||||||||
timotimo | right | ||||||||||||||||||||||||||||||||||||||
lizmat | if you want to snap at certain stages of your program, you can just add snap statements | ||||||||||||||||||||||||||||||||||||||
timotimo | the report appears without a snapper, too | ||||||||||||||||||||||||||||||||||||||
lizmat | yup | 18:09 | |||||||||||||||||||||||||||||||||||||
timotimo | i don't know why, but now i don't get the first "taking heap snapshot" message | ||||||||||||||||||||||||||||||||||||||
lizmat | anytime you do a single snap, it will | ||||||||||||||||||||||||||||||||||||||
m: use Telemetry; snap | |||||||||||||||||||||||||||||||||||||||
evalable6 | Telemetry Report of Process #16344 (2019-04-16T18:09:27Z) Number of Snapshots: 2 Initial/Fā¦ |
||||||||||||||||||||||||||||||||||||||
lizmat, Full output: gist.github.com/2e41529bdf65f1985d...333da3d302 | |||||||||||||||||||||||||||||||||||||||
timotimo | also, the 641% cpu usage in the gist is funny | 18:10 | |||||||||||||||||||||||||||||||||||||
probably has something to do with the time being -3 | |||||||||||||||||||||||||||||||||||||||
lizmat | yup | ||||||||||||||||||||||||||||||||||||||
lizmat looks forward to the nqp::stats op :-) | |||||||||||||||||||||||||||||||||||||||
timotimo | i'll teach the heap snapshot profiler to actually return a summary of what it saw to nqp::mvmendprofile; any idea how that should be displayed in the telemetry report if there were heap snapshots taken? | 18:11 | |||||||||||||||||||||||||||||||||||||
how does nqp::backendstats sound as an op name? | |||||||||||||||||||||||||||||||||||||||
lizmat | sounds good | ||||||||||||||||||||||||||||||||||||||
timotimo | harder to confuse with the stat system call and such | ||||||||||||||||||||||||||||||||||||||
lizmat | wrt to the heap snapshots info: what kind of data would that contain? | 18:12 | |||||||||||||||||||||||||||||||||||||
timotimo | oh, also, would it make sense for the snapper report to display how much util% corresponds to one cpu core? | ||||||||||||||||||||||||||||||||||||||
at the very least "how many objects, how many references between objects, how many frames, how many STables, total managed object size, total unmanaged object size", perhaps also "rankings" of types by count and size | 18:13 | ||||||||||||||||||||||||||||||||||||||
lizmat | before you said "perhaps", I thought about a thing similar to nqp::getrusage | ||||||||||||||||||||||||||||||||||||||
perhaps we could put that into an instrument | 18:14 | ||||||||||||||||||||||||||||||||||||||
timotimo | mhm | ||||||||||||||||||||||||||||||||||||||
lizmat | although the information is really of a different type | ||||||||||||||||||||||||||||||||||||||
timotimo | what kind of stuff gets returned could be configurable via the mvmstartprofile op | ||||||||||||||||||||||||||||||||||||||
but it'll have to be compatible with "multiple heap snapshots were taken between start and end" | 18:15 | ||||||||||||||||||||||||||||||||||||||
ugexe | re per-core stats: remember nqp::cpucores isn't always a relevant number, or mean usable cores, or etc | 18:16 | |||||||||||||||||||||||||||||||||||||
lizmat | perhaps Telemetry should be agnostic of this | ||||||||||||||||||||||||||||||||||||||
timotimo | mhm | 18:17 | |||||||||||||||||||||||||||||||||||||
lizmat | an nqp::profilestats could fetch information collected by snapshots | ||||||||||||||||||||||||||||||||||||||
if there is none, then there was no profiling | |||||||||||||||||||||||||||||||||||||||
if there was, it will automatically pick it up | |||||||||||||||||||||||||||||||||||||||
(and reset it for the next batch) | |||||||||||||||||||||||||||||||||||||||
timotimo | if you call it twice after only one profiling? | ||||||||||||||||||||||||||||||||||||||
ah, that's what i wanted to hear :) | |||||||||||||||||||||||||||||||||||||||
lizmat | afk for a bit& | 18:19 | |||||||||||||||||||||||||||||||||||||
Geth | nqp: e9807a613c | timo++ (committed using GitHub Web editor) | docs/ops.markdown elaborate a little on mvmstartprofile and mvmendprofile |
18:22 | |||||||||||||||||||||||||||||||||||||
rakudo: Kaiepi++ created pull request #2845: Don't use nqp::execname on OpenBSD |
18:31 | ||||||||||||||||||||||||||||||||||||||
patrickb | Kaiepi++ | 18:41 | |||||||||||||||||||||||||||||||||||||
Kaiepi: I really appreciate the work you put into this! | |||||||||||||||||||||||||||||||||||||||
Kaiepi | :) | ||||||||||||||||||||||||||||||||||||||
i like issues like this that are specific to bsd in general since i'm forced to learn more about how the oses work | 18:43 | ||||||||||||||||||||||||||||||||||||||
patrickb | From what I can see the changes look good. | 18:44 | |||||||||||||||||||||||||||||||||||||
patrickb boots into Windows | 18:49 | ||||||||||||||||||||||||||||||||||||||
18:49
patrickb left
|
|||||||||||||||||||||||||||||||||||||||
Kaiepi | i have some changes i need to propose to libuv that i found out about from this since there's a better way they could be handling uv_exepath than they do now | 18:50 | |||||||||||||||||||||||||||||||||||||
the only reason i didn't use it for this issue was because it'd only work on moarvm | 18:51 | ||||||||||||||||||||||||||||||||||||||
but basically sysctl let's you get the program's cwd | |||||||||||||||||||||||||||||||||||||||
combine that with it allowing you to get the binary name from argv and you have a full path | 18:52 | ||||||||||||||||||||||||||||||||||||||
only issue with that is if the program chdir's at some point but the current implementation doesn't deal with that either so whatever | 18:54 | ||||||||||||||||||||||||||||||||||||||
timotimo | afaik we don't chdir in maorvm, though of course there's nativecall | 18:55 | |||||||||||||||||||||||||||||||||||||
19:01
patrickb joined
19:14
patrickb_ joined,
patrickb left
19:22
Kaiepi left
19:59
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | nqp/master: 5 commits pushed by (Timo Paulssen)++ | 20:52 | |||||||||||||||||||||||||||||||||||||
timotimo | ^- deallocations weren't actually being written to the profiler's output until now, oops :) | 20:55 | |||||||||||||||||||||||||||||||||||||
21:02
AlexDani` joined
21:04
AlexDaniel left
21:12
Kaiepi left,
Kaiepi joined
21:15
Kaiepi left
21:32
AlexDani` left
21:38
vrurg left,
vrurg joined
22:07
MasterDuke joined,
MasterDuke left,
MasterDuke joined
22:19
vrurg left,
vrurg joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: patzim++ created pull request #2846: Remove relative elements from NQP_HOME and PERL6_HOME |
22:29 | |||||||||||||||||||||||||||||||||||||
22:38
patrickb_ left
22:47
patrickb joined
|
|||||||||||||||||||||||||||||||||||||||
jnthn | .tell patrickb I'll take a look at your PR tomorrow :) | 22:50 | |||||||||||||||||||||||||||||||||||||
yoleaux | jnthn: I'll pass your message to patrickb. | ||||||||||||||||||||||||||||||||||||||
patrickb | No hurry. | ||||||||||||||||||||||||||||||||||||||
yoleaux | 22:50Z <jnthn> patrickb: I'll take a look at your PR tomorrow :) | ||||||||||||||||||||||||||||||||||||||
jnthn | I need to try and look at the spesh-related release blocker ticket this week too | 22:54 | |||||||||||||||||||||||||||||||||||||
Sleep for now o/ | 23:01 | ||||||||||||||||||||||||||||||||||||||
23:40
patrickz joined
23:43
patrickb left
23:45
AlexDani` joined
23:46
AlexDani` is now known as AlexDaniel,
AlexDaniel left,
AlexDaniel joined
23:47
lucasb left
23:50
ufobat_ left
|