japhb .ask [Tux] Where is the historical file for your newly-expanded suite of CSV perf tests? I'm thinking of expanding the buggable speed grapher to graph any of them. 00:57
yoleaux japhb: I'll pass your message to [Tux].
Zoffix Tux said "not yet" 00:59
irclog.perlgeek.de/perl6-dev/2017-...i_15371662 01:00
japhb Zoffix: Hmmm, that was almost a week ago. Seems ripe for a re-ask. 01:01
timotimo greetings japhb 01:36
how are you today?
yoleaux AlexDaniel`: RT/GH weekly 07:17
[Tux] Rakudo version 2017.10-125-g360eb2289 - MoarVM version 2017.10-58-gad8618468
csv-ip5xs1.110 - 1.122
csv-ip5xs-2013.069 - 13.245
csv-parser12.201 - 12.736
csv-test-xs-200.454 - 0.455
test12.052 - 12.061
test-t3.302 - 3.315
test-t-2060.028 - 60.618
test-t-20 --race21.415 - 22.174
09:34
yoleaux 00:57Z <japhb> [Tux]: Where is the historical file for your newly-expanded suite of CSV perf tests? I'm thinking of expanding the buggable speed grapher to graph any of them.
tux.nl/Talks/CSV6/speed-all.log
Geth roast: fc36d3dde2 | (Stefan Seifert)++ | 2 files
Make spurious timeouts in test runs less likely
09:41
gfldex lizmat: is there a way to stop snapper from snapping? 10:27
lizmat gfldex: I have been thinking about that 10:35
snapper(0) would perhaps be logical in a way ?
or snapper(Inf) probably better
gfldex snapper(:stop); 10:36
lizmat that too :-)
gfldex m: sleep āˆž; 10:37
camelia (timeout)
lizmat gfldex: should the period between a stop / start also be considered a period or not ? 10:39
gfldex lizmat: I don't think so. If I want to stop something, I likely don't want the result of the operation anyway. 10:40
lizmat so you would run a report after stopping and before starting again ? 10:41
or just discard ? 10:42
hmmm
gfldex no report
one can ask for the report by hand
lizmat yeah, I wasn't going to auto-generate that for stopping the snapper 10:44
El_Che who telemeters the telemetry? 10:49
Geth rakudo: 9344d35de8 | (Elizabeth Mattijsen)++ | lib/Telemetry.pm6
Add :stop / :reset parameters to snapper()

  - :reset allows you to forget about the snaps made so far
  - :stop allows you to stop the snapper
10:51
lizmat El_Che: the snapper of snappers
gfldex: mind you, it won't check if it's stopped until after the sleep comes out 10:52
I don't really want to use Promises in there because of the overhead involved
gfldex lizmat: I agree. The last snapping wont hurt. 10:53
El_Che snap is a popular term it seems. Yesterday I had a look at Ubuntu's snap to see if it was feasable to provide rakudo snaps. And I reorganized my backups moving to ZFS snapshots and the sync'er (remote of other drive) for the snapshots is calles simplesnap and the autosnapshortter zfSnap. 10:54
this must be what facebook must feel like
or amazon. "Hey you bough a vacuum cleaner. Here have a look at a zillion other vacuuum cleaners" 10:55
:)
Geth rakudo: d5fc6cbb9e | (Elizabeth Mattijsen)++ | lib/Telemetry.pm6
Don't start a snapper if not running and :stop
11:02
gfldex lizmat: github.com/gfldex/perl6-telemetry-httpd 11:23
lizmat gfldex: cool!! 11:24
gfldex: I was also thinking about adding a :csv option 11:26
gfldex that would be handy
would make it easy to output proper html 11:27
lizmat: the module is so tiny, I wonder if it could be shipped with Rakudo. 11:28
lizmat something to consider, afaiac 11:29
so, :csv would just output the values, whitespace separated ? 11:30
no header, footer, legend
?
gfldex :csv should have a header
lizmat the names of the columns ? 11:31
gfldex yes
lizmat I mean more the stuff about "Telemetry Report of Process #44910 (2017-11-05T11:23:04Z)",
etc.
the pre-amble if you like
gfldex I would not add the pre-amble in csv
lizmat ack 11:33
El_Che gfldex++ 11:35
and lizmat++
lizmat gfldex: also no total, right ? 11:36
Geth rakudo: 3e4ef2e0fc | (Elizabeth Mattijsen)++ | lib/Telemetry.pm6
Add :csv option to report

  - which defaults to RAKUDO_REPORT_CSV setting
  - also made report() itself hopefully a bit less racy
11:55
lizmat gfldex: I chose to use whitespace as a delimiter, because it works better with .words 11:56
(which is about 2.5x as fast as .split(',') 11:58
)
gfldex: feels to me that github.com/gfldex/perl6-telemetry-.../httpd.pm6 could be a "server" sub in Telemetry 12:33
and then have a helper module "snapserver" (name to be bikedhedded) that would just do: 'snapper(1); httpd' in its mainline 12:34
gfldex lizmat: I would be careful with exporting generic names in a telemetry module. 13:16
lizmat So always force something like "use Telemetry <snap>" ? 13:19
note that imports are lexical in Perl 6 13:20
m: { use Telemetry; snap }; snap
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
snap used at line 1
lizmat m: { use Telemetry; snap }
camelia wallclock util% max-rss gw gtc tw ttc aw atc
202 25.247525 0 0 0 0 0 0 0
Geth rakudo: 4d21ad67da | (Elizabeth Mattijsen)++ | lib/Telemetry.pm6
Oops, the default for :csv should be off!
13:21
rakudo: 0f2f0cd3ab | (Elizabeth Mattijsen)++ | lib/Telemetry.pm6
Introduce Telemetry 'safe-ctrl-c'

  - when called, installs a signal handler for CTRL-c that just exits
  - makes sure that if we're snapping, we're going to see a report even
   if we're control-c'ing out of the program, e.g. in case of a hang
   or an infini-loop.
13:24
rakudo: 824a5dc298 | (Elizabeth Mattijsen)++ | lib/snapper.pm6
Make -Msnapper set the safe-ctrl-c feature

  - so even perl6 -Msnapper -e 'loop {}' will give you a report
   - after you ctrl-c it of course
13:27
roast: 2437d1f795 | (Zoffix Znet)++ (committed using GitHub Web editor) | packages/Test/Util.pm
Fix inconsistent doesn't-hang defaults
13:28
roast: 6aa1ce3b5c | (Zoffix Znet)++ (committed using GitHub Web editor) | S28-named-variables/init-instant.t
Respect ROAST_TIMING_SCALE in time-sensitive test
13:30
roast: 694b2e7abf | (Zoffix Znet)++ (committed using GitHub Web editor) | S28-named-variables/init-instant.t
Fix inaccurate test description
roast: 008843bc96 | (Zoffix Znet)++ (committed using GitHub Web editor) | S28-named-variables/init-instant.t
Fix typo
13:31
Zoffix buggable: speed :4 13:37
buggable Zoffix, ā–† ā–… ā–† ā–‚ā–ˆ dates: 2017-10-26ā€“2017-11-04
Zoffix, ā–ā–ˆ ā–„ ā–ˆ ā–‚ā–ƒā–ˆ ā–ˆā–ˆ ā–‚ range: 19.341sā€“21.820s
Zoffix, ā–ˆā–ˆā–†ā–ˆ ā– ā–ˆā–‡ā–‡ā–‡ā–ˆā–ˆā–ˆ ā–ā–ˆā–ˆā–…ā–ˆ speed: 3% slower (widths: 10/3)
Zoffix, ā–ā–ƒā–ˆā–ˆā–ˆā–ˆā–…ā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–ˆā–‡ā–ˆā–ˆā–ˆā–ˆā–ˆ
Zoffix (uses test-t-20 --race now)
Geth roast: 3ad163d3a1 | usev6++ | 2 files
[jvm] Skip two tests that hang during spectest
13:51
ugexe I have to admit that having a http server in the core, lib/ or not, seems out of place 14:45
Zoffix client, sure, but server? :/ 14:47
Zoffix came up with another marketing blurb: "It's not magic. It's Perl 6." Both shows the language as awesome and powerful, while distancing from bad rep of "too magical" Perl sometimes gets 14:49
AlexDaniel Zoffix++ 14:51
Geth nqp: 17ce8f83d7 | usev6++ | 3 files
[jvm] Implement 'getport' for ServerSocketHandle
15:14
AlexDaniel buggable: tag MOLD 15:16
buggable AlexDaniel, There are 233 tickets tagged with MOLD; See fail.rakudo.party/t/MOLD for details
jnthn What's MOLD? 15:18
Zoffix jnthn: tickets that haven't seen any updates in last 2 years 15:21
AlexDaniel (the tag is added automatically) 15:22
Zoffix Fixing breakage due to readonly $/ being touched by .subst... And really feels like a bad direction. This is one set of changes that needs to be done to a method the second a .subst or .match call is added: gist.github.com/zoffixznet/c68579b...be91e529f1 15:36
IMO we should not set $/ with method matching forms
Reverting github.com/rakudo/rakudo/commit/73...1ef0bc3f32 15:38
I think we need to go into the opposite direction from that. Eliminate all the caller's-$/ fondling. Prolly make stuff faster too 15:39
Geth roast: b0b3844c7d | (Zoffix Znet)++ | S32-str/substr.t
Revert "Test .subst complains when it can't use $/"

This reverts commit 80a49c4324bc4a166c311e3eb01b7bae8814893c.
Such behaviour has too much unwanted impact in grammar actions where $/ is the common name for the parameter. Having to change
  $/ to something else the second you introduce a .subst call
  (or other methods that set $/) is a bit too much.
  irclog.perlgeek.de/perl6-dev/2017-...i_15404670
15:44
AlexDaniel ā€œYou can only reassign tickets that you own or that are unownedā€ā€¦ Really? 15:47
Geth roast: 76e1f94768 | (Zoffix Znet)++ | S05-grammar/action-stubs.t
Remove new unwanted test

Part of revert for github.com/perl6/roast/commit/b0b3844c7d
15:51
rakudo: 1c387153ea | (Zoffix Znet)++ | src/core/Str.pm
Revert ""Do. Or do not. There is no try.""

This reverts commit 738908be4d79f1472821cd363ec82a1ef0bc3f32.
Such behaviour has too much unwanted impact in grammar actions where $/ is the common name for the parameter. Having to change
  $/ to something else the second you introduce a .subst call
  (or other methods that set $/) is a bit too much.
  irclog.perlgeek.de/perl6-dev/2017-...i_15404670
AlexDaniel buggable: NYI 15:56
buggable: tag NYI
buggable AlexDaniel, There are 58 tickets tagged with NYI; See fail.rakudo.party/t/NYI for details
AlexDaniel I'm not happy with merging tickets on RT because it creates a mess, but closing duplicates and simply linking them back and forth kinda sucks too 16:00
(because creates an impression that the issue was fixed in one of the tickets and therefore all others should be closed) 16:01
nine AlexDaniel: what's so bad about merging? 16:11
Geth roast: 5360b920d0 | (Zoffix Znet)++ | packages/Test/Util.pm
Improve doesn't-hang() failure mode

Add diagnostic message telling the user to try increasing timing scale when test detects a hang.
Zoffix nine: IME: because RT interleaves one ticket into another instead of appending it so it quickly becomes a mess of incoherent replies. 16:13
AlexDaniel yeah 16:22
Geth 6.d-prep: 9d645a8025 | (Zoffix Znet)++ (committed using GitHub Web editor) | TODO/FEATURES.md
Add R#1235 to [potential] TODO list
16:30
synopsebot R#1235 [open]: github.com/rakudo/rakudo/issues/1235 [6.d][RFC] Caller-$/-setting is too invasive
Zoffix AlexDaniel: you should've made your last issue about testing :P 16:31
And then say. " What about testing? R#1234 " and people would not know whether that's an actual Issue number :P
synopsebot R#1234 [open]: github.com/rakudo/rakudo/issues/1234 [RFC] Whitespacey things in Ā«Ā» (say Ā«a\nbĀ».perl)
AlexDaniel we can do it in R#12345 :) 16:33
that should take just a few years I think 16:35
Zoffix m: say (12345-1234)/50/12 16:39
camelia 18.518333
Zoffix like 18 years :)
[Tux] japhb, is tux.nl/Talks/CSV6/speed-all.log filling your needs? 16:54
Zoffix buggable: speed 16:55
buggable Zoffix, ā–ā–ā–…ā–ˆā–„ā–…ā–‚ā–ƒā–ƒā–‡ā–„ā–„ā–„ā–…ā–…ā–ˆā–ƒā–ƒā–†ā–ˆā–„ā–… dates: 2017-10-26ā€“2017-11-04; range: 19.341sā€“21.820s; speed: 3% slower (widths: 10/3)
lizmat .
yoleaux 14:42Z <AlexDaniel> lizmat: weekly report gist.github.com/AlexDaniel/5abca8a...dad53d17bf
Zoffix ^ buggable already uses it. [Tux]++
AlexDaniel Zoffix: does not look right. It feels like you forgot to count pull requests
(and that we are still fixing RT bugs, but that will be happening less and less I think) 16:56
Zoffix AlexDaniel: IIRC we get like 30 tickets a month + I figure about 20 PRs
releasable6: status 16:57
releasable6 Zoffix, Next release in 13 days and ā‰ˆ2 hours. No blockers. 0 out of 132 commits logged
Zoffix, Details: gist.github.com/52dacd51054c6a8c3f...53df5bb688
Zoffix NeuralAnomaly: status
NeuralAnomaly Zoffix, Use releasable6 bot instead. e.g. try: releasable6: status
AlexDaniel Zoffix: according to the gist above we resolved 17 tickets in the last week (some of them were created and resolved immediately), while the total number of tickets is around the same (1720ā†’1718) 17:00
assuming the same pace that's around 68 tickets per month not including pull requests
hm, maybe ā€œNew tickets (7)ā€ section should include resolved tickets 17:02
done. Same link: gist.github.com/AlexDaniel/5abca8a...dad53d17bf 17:18
Geth rakudo: 22939bc819 | (Elizabeth Mattijsen)++ | lib/Telemetry.pm6
Telemetry report now removes columns without any data

  - only for the human readable case, though: :csv output unchanged
17:22
jnthn (from backlog) fwiw, I agree with ugexe and Zoffix - the point Telemetry involves a HTTP server and stuff, that feels a bit beyond the scope of things I'd like in the Rakudo repo. In that case, it's better it lives on the ecosystem and can depend on one of the many options for building a HTTP server in there. 17:44
Or the HTTP aspects of it could live there, at least. 17:45
Geth rakudo: 77142fdb29 | (Elizabeth Mattijsen)++ | lib/Telemetry.pm6
Fix some Telemetry / snapper race condition

Sometimes, if you would use snapper and say your own report at the end, another (almost) empty report would be shown as well.
17:46
lizmat notes jnthn ugexe Zoffix' comments 17:47
jnthn I guess sine there's bits of Telemetry that depend on nqp::getrusage and maybe poke into scheduler internals, we'd rather keep those in the Rakudo repo 17:48
As we do with NativeCall
lizmat jnthn: yes, that was my intent 17:50
but also open it up for more general usage / mixes 17:51
jnthn *nod* 17:54
lizmat hmmm.. I'm considering dropping support for "use Telemetry :COLUMNS" 18:38
if we're going to generalize Telemetry::Instruments, then exporting stuff becomes very confusing
Zoffix bumps brochure on size up, from 16 to 20 pages 19:57
This section is all that's left to do: i.imgur.com/HSyod2Y.png and it could be done on 1 page, but I rather add more @marketing-things and code examples. 19:58
That's without book excerpts btw 20:01
lizmat Zoffix++ 20:03
the only thing that slightly bothers me is the lack of periods at the end of a sentence. 20:04
Zoffix lizmat: hah. I always remove periods at the end of bullets in bulleted lists, since bullets already signify breaks, but I'll add them back into this brochure :) 20:08
lizmat well, that's why I said slighly
*tly
AlexDaniel Zoffix: there's a guy on #perl6 struggling with WWW module. I'm suspecting RT#131553 RT#123282 but I really don't know 20:47
synopsebot RT#131553 [new]: rt.perl.org/Ticket/Display.html?id=131553 IO::Socket::INET mishandles IPv6
AlexDaniel maybe you have some thoughts
synopsebot RT#123282 [new]: rt.perl.org/Ticket/Display.html?id=123282 [IO] IO::Socket::INET fails to connect if a resource is available over IPv6 and the client is misconfigured to use IPv6
El_Che_ Zoffix: it's a sentence, not an enumeration of words. So thx for the periods :) 20:50
Zoffix: I don't think that bullet point is a good match with that much text? Maybe paragraphs and bold keywords? 20:51
maybe not, just thinking out loud
El_Che Zoffix: the community pic you posted on twitter, are you using that? It looks like mostly p5 people 20:53
Zoffix Yes. I'm using that. 21:45
japhb Zoffix: Is your change to buggable to use the -20 race version pushed to GH? 22:13
Zoffix Yes 22:14
japhb Dammit, I was looking at my fork when I thought I was looking at your copy 22:15
Zoffix: In github.com/japhb/perl6-buggable/bl...m6#L75-L79 Why are you averaging the 3 or 10 entries, rather than taking the minimum within those zones? The average can be messed up by a fluke, but min should be more stable. 22:43
Zoffix, in fact I might go with default comparison of minimum of first 10 values versus single most current value (== minimum of most recent 1). 22:44
Zoffix japhb: why minimum? The "fluke" you mention would mess it up even more 22:46
That'd just undo why the averaging was done in the first place. 22:47
If you take a minimum of 10 values and one of them is 20% faster due to a bug, you now have all 10 of those values poisoned until the bug clears out. 22:48
japhb Zoffix: I would think it far more common that background processing on [Tux]'s machine would a significant effect on the mean than that we had a bug that resulted in super-fast timings. 22:51
Because timing is a left-truncated distribution, where outliers can *only* exist because of bugs, the far more likely outliers are towards higher values. 22:52
Nevertheless, we could always just change it to "minimum of first 3" or so.
(Oh, and FWIW, s/stable/robust/. Sigh, tired brane.) 22:54
Zoffix Makes no sense to me. Why is the minimum value preferred? If we make nine 10s measurements and one 5s measurement, you say there be background processes, so you take the 5s value, but the measurements on the other end of the spectrum are overwhelmingly more likely to have the same background processes that gave us 10s 9 times out of 10 before, so you'll show a 200% speed loss in that scenario, whereas the 22:58
pertubation will show up as merely 1% change were the averages taken.
From what I understand you say the lower the number the more pure the measurement is, but that purity does not exist on both ends of the spectrum. 22:59
at the same time 23:02
japhb OK, let's look at some more "realistic" data. If you run a test several times in a row, and the results are 10.3, 10.1, 10.5, 10.2, 10.0, 10.4, 10.3, 10.2 -- how fast do you consider the code to be? 10.0 (min)? 10.25 (mean)? 10.2 or 10.3 (median/mode)? 10.5 (max)? 23:11
(FWIW, I fully understand your point about poisoning, but my argument on that angle is that a half-sized measurement would poison the mean as well, though not the median). 23:13
Actually, I think it's a strict improvement to change from mean to median, and that's still safe from single-value poisoning (and in fact up to 50% poisoning). Would that be an acceptable change for you? 23:14
Zoffix ZofBot: MATH IS HARD! LET'S GO SHOPPING! 23:19
ZofBot Zoffix, well, on moar we have a native array as expected. my earlier message was a false alarm (I mixed things up)
Zoffix japhb: yeah, median is OK 23:20
japhb Zoffix: Cool, thank you.
[Tux]: It looks like the ' --race' is being dropped from the last couple 2x-second test-t-20 results in speed-all.log 23:57
Zoffix: And ... there's your bug, which I considered highly unlikely, but is in fact happening *right now*.
*sigh*
japhb cries quietly into his Triscuits and cheddar 23:58