timotimo | i also love reading the p6w | 00:44 | |
MasterDuke | lizmat++ p6w++ i read it long before i started contributing | 01:11 | |
lizmat | Files=1217, Tests=67448, 253 wallclock secs (13.52 usr 5.10 sys + 1660.81 cusr 159.66 csys = 1839.09 CPU) | 05:55 | |
yoleaux | 4 Aug 2017 22:24Z <japhb> lizmat: Everything works and installs with no test problems on 2017.07 | ||
4 Aug 2017 22:27Z <japhb> lizmat: In case you want to replicate: I rebuild rakudo from fresh checkouts of all rakudo/nqp/moar, install panda and zef, then run: zef --/tap-harness --/cached install URI File::Temp p6doc Terminal::ANSIColor Term::termios Debugger::UI::CommandLine JSON::Tiny DBIish Linenoise Inline::Perl5 Inline::Python IRC::Client oo-monitors Grammar::Debugger App::Mi6 HTTP::UserAgent | |||
lizmat | afk for the next 30 hours or so& | 09:42 | |
Geth | nqp/master: 6 commits pushed by pmurias++ | 09:57 | |
nqp: dc418da31f | pmurias++ | 2 files [js] Use SPDX style license identifiers |
10:12 | ||
travis-ci | NQP build failed. pmurias 'Add a &dies-ok to the setting so that it can be shared across tests' | 10:27 | |
travis-ci.org/perl6/nqp/builds/261279138 github.com/perl6/nqp/compare/82d06...0a07ee9621 | |||
NQP build failed. pmurias '[js] Use SPDX style license identifiers' | 10:29 | ||
travis-ci.org/perl6/nqp/builds/261281620 github.com/perl6/nqp/compare/980a0...418da31f09 | |||
[Tux] | This is Rakudo version 2017.07-132-gabf1cfe72 built on MoarVM version 2017.07-320-g600c2e9c | 10:44 | |
csv-ip5xs 2.535 | |||
test 12.029 | |||
test-t 3.660 - 3.706 | |||
csv-parser 14.252 | |||
buggable: speed | |||
buggable | [Tux], ?????????????????????????????????????????????????? data for 2017-07-16–2017-08-05; range: 3.660s–4.960s; 17% faster | ||
dogbert2 | now that's an impressive boost | 10:50 | |
timotimo | wowza | 11:27 | |
dogbert2 | #join #moarvm | 11:40 | |
ww | |||
jnthn wonders if that's a new lowest time for test-t | |||
dogbert2 | i'd say so yes | 11:42 | |
but will it be possible to squeeze below three seconds? | |||
:) | |||
jnthn | m: say 3 / 3.6 | 11:45 | |
camelia | 0.833333? | ||
jnthn | m: say 3 / 3.7 | ||
camelia | 0.810811? | ||
jnthn | Will need finding 20% or so | ||
dogbert2 | do you think it's possible? | ||
perhaps more data, i.e. profile and/or callgrind results, are needed in order to form an opinion? | 11:46 | ||
jnthn | It's possible, question is more one of how hard it will be :) | 11:47 | |
dogbert2 | perhaps we'll see next week :) | 11:48 | |
have you gotten rid of the heatwave yet? | |||
jnthn | It's also a bit hard to know up-front the impact of a change. | ||
No. But today is the last day. | |||
dogbert2 | only have 19 degrees myself | 11:49 | |
jnthn | For example, the exception flow control representation thing I uncovered yesterday has potential, if I can sort something better out there, to allow for better code inside of hot loops, which may make a notable difference. | 11:50 | |
dogbert2 | that sounds promising, are any ideas bubbling up? | 11:52 | |
would the above have any impact on 'next' phasers? I know that [Tux] has complained about them | 11:53 | ||
jnthn | next phasers, or just the "next" op? | ||
dogbert2 | hmm, without checking the source I'd have to say op | 11:54 | |
I might misremember but I believe [Tux] has said that it is slow | 11:55 | ||
jnthn | Depending on the code structure there's various things we might be able to do | ||
MasterDuke | irclog.perlgeek.de/perl6-dev/2017-...i_14509773 | ||
irclog.perlgeek.de/perl6-dev/2017-...i_14431632 | 11:56 | ||
dogbert2 | MasterDuke++ | ||
jnthn | My rough idea to try out on Monday, though, is to see if we can split code into basic blocks in a few more places, so we can put edges from those to the exception handler, instead of anchoring it from the graph root | 11:59 | |
dogbert2 | what would be the gain of doing that? | 12:00 | |
jnthn | Which should move them further down the dominane tree, meaning that SSA will produce less PHI nodes with spurious merges. | ||
If you think of the control flow graph of a program, PHI nodes go at merge points | 12:01 | ||
And they say how a value can come to have its data | |||
Their significance for optimization is that we have to merge the things we know about values at the PHI node | 12:02 | ||
And if one of them is "we know what type this is" and the other is "we don't know anything" then we have to assume we don't know anything" then we have to assume we don't know anything. | |||
From that point on | 12:03 | ||
Which means that if you call .iterator before a loop, and .pull-one on it in the loop, then today the PHI node at the top of the loop was a merge of "we know it's an Iterator" with "it could be anything 'cus we could arrive here by an exception handler" | 12:04 | ||
Whereas if we could place the handler-related edges more precisely, we might instead get to a situation of "we know it's an Iterator" | |||
Which would mean we could resolve the .pull-one method lookup and not have to do it every time, and then potentially further resolve it to a particular spesh candidate, and if that's small enough, inline it. | 12:05 | ||
dogbert2 | are there many 'spurious merges' done today? | ||
jnthn | I suspect this happens in every loop, except those in NQP that are inferred as never using next/last/redo | 12:06 | |
(Which is a cheat that we can't really do in full Perl 6) | |||
And anything optimization you do on code running in a loop multiplies out over the number of iterations :) | 12:07 | ||
dogbert2 | very interesting, sound like there are some massive speedups lurking there :) | 12:08 | |
jnthn | Quite possibly, yeah | ||
MasterDuke | fyi, the previous low for test-t was 3.907 | 12:42 | |
pmurias | what's test-t? | 12:57 | |
MasterDuke | [Tux]'s Text::CSV benchmark canary | 12:58 | |
dogbert2 | bisect: multi foo ($) {"right" }; multi foo ($ is rw) {"wrong"}; say foo "42" | 13:22 | |
bisectable6 | dogbert2, Bisecting by output (old=2015.12 new=abf1cfe) because on both starting points the exit code is 0 | ||
dogbert2, bisect log: gist.github.com/c975e82c33c0fdf8b3...5cdddf94fa | 13:23 | ||
dogbert2, (2017-01-31) github.com/rakudo/rakudo/commit/f8...e4bac50dca | |||
dogbert2 | Zoffix: you awake? | 13:24 | |
Zoffix | wow! Those test-t times! | ||
dogbert2 | Zoffix: looks as if RT #129812 was fixed by the commit above | 13:25 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=129812 | ||
Zoffix | cool | ||
dogbert2 | unless you have a trickier example | ||
Zoffix has nothing | |||
nine | Only 1.1 seconds before I really have to speed up Inline::Perl5 somehow :) | 13:35 | |
yoleaux | 2 Aug 2017 15:06Z <Zoffix> nine: would you have any ideas on this ticket? rt.perl.org/Ticket/Display.html?id=131831 | ||
Zoffix | nine: FWIW ugexe++ said the original user is incorrectly setting paths, so perhaps the throwage happening is inevitable, but perhaps at least the error could be improved? | 13:37 | |
jnthn | nine: Native calls becoming cheaper would be one way for it to speed up. :) | 13:42 | |
Zoffix & # for rest of the long weekened | 13:44 | ||
timotimo | there's a lot of wasted potential in our nativecall | ||
nine | Yes, making NativeCall cheaper sounds like my kind of fun :) | 13:47 | |
Zoffix: closed rt.perl.org/Ticket/Display.html?id=131831 | 14:12 | ||
dogbert2 | stupid question time: what is the purpose of this line: github.com/MoarVM/MoarVM/blob/mast...ket.c#L445 | 15:04 | |
is it useless or should 'data' be used for something which has possibly been forgotten? | 15:05 | ||
MasterDuke | looks like it changed in github.com/MoarVM/MoarVM/commit/2b...e4b9f0eedd | 15:11 | |
it was used prior to that commit | |||
timotimo | looks like it was refactored to not be needed any more | 15:16 | |
dogbert2 | cool, should we leave it be? | 15:31 | |
timotimo | we can delete it | 15:32 | |
dogbert2 | ok, while you're still here, what about this, can it also be removed? github.com/MoarVM/MoarVM/blob/mast...tex.c#L120 | 15:40 | |
timotimo | that's for the commented out telemetry stuff | 15:41 | |
dogbert2 | I'll ignore that then :) | 15:42 | |
timotimo | you can comment it out, though | ||
dogbert2 | will do, and the last one: github.com/MoarVM/MoarVM/blob/mast...loc.c#L227 | 15:46 | |
timotimo | well, it's surely unused there | 15:50 | |
dogbert2 | perhaps a rest from some other refactor | 15:51 | |
AlexDaniel | regarding latest performance changes… I'm seeing something weird. After upgrading rakudo yesterday, whateverable tests started timing out (so things that used to be fast are now slower?) | 16:25 | |
can't really tell what the issue is precisely, but my guess is that long-running processes are getting slower over time | |||
don't have enough data to report something useful though :( | 16:26 | ||
I mean, I had to do this to make the tests pass: github.com/perl6/whateverable/comm...925aca76e9 | 16:36 | ||
does not look right to me, but *shrug* | |||
Geth | nqp: f6c245875f | (Stefan Seifert)++ | t/hll/06-sprintf.t Fix wrong test count after commit 980a07ee96216a43958d54878e187a7b0abd8cf1 |
||
AlexDaniel | if anybody notices something similar, please let me know | ||
jnthn | AlexDaniel: I don't have any particular ideas, but could also be good to check if memory use is growing unexpectedly | 16:38 | |
Though I already fixed the place I knew we could retain closures a lot longer and "leak" (more like long delay to release) that way. | 16:39 | ||
So I've no idea really what could be going on. | |||
nine | jnthn: looks like there's a bit of rain coming your way. ETA 2-3 hours. | 16:40 | |
jnthn | \o/ | ||
Last I glanced the forecast we had a chance of a storm in ~2 hours | 16:41 | ||
Rain or storm would be nice, it'll take the heat off before bedtime :) | |||
Also this is seemingly the last day of the heatwave here :) | |||
AlexDaniel | I should probably write tests to ensure that memory usage of bots is less than some number, that would ring the bell rather quickly if a leak is introduced | ||
nine | Looking at the sat images, it's hard to tell. There's certainly rain moving through Germany in your direction, but the clouds also seem to dissipate a little as they enter Czechia. | 16:43 | |
jnthn | Forecast still has rain/storms around 9pm-10pm, so here's hoping :) | 16:47 | |
At the moment I'm making it hotter in here by cooking pau bahji... :) | 16:48 | ||
nine | jnthn: sounds delicious :) I'm gonna be lazy again and will throw a couple veggies on the barbeque soon. | 16:50 | |
jnthn | Mmm. :) | 16:51 | |
jnthn tries to work on a spesh blog post in the spare moments between doing stuff | 16:52 | ||
dogbert2 | .oO(curry tasting blog post :) |
17:04 | |
AlexDaniel | ooooh yes it does leak! | 17:06 | |
but only in some cases… hmmmm | 17:07 | ||
travis-ci | NQP build passed. Stefan Seifert 'Fix wrong test count after commit 980a07ee96216a43958d54878e187a7b0abd8cf1' | ||
travis-ci.org/perl6/nqp/builds/261341707 github.com/perl6/nqp/compare/dc418...c245875f05 | |||
ugexe | moarvm head is failing on windows | ||
c:\projects\rakudo\nqp\moarvm\src\core/alloc.h(34) : error C2036: 'void *' : unknown size | |||
AlexDaniel | ok, I know approximately what is leaking, but now I have to go… later! | 17:12 | |
nine | ugexe: Windows failure should be fixed | 18:37 | |
jdv79 | yeah, mem usage got worse | 21:30 | |
i think it happens when i use XML in my ap | 21:31 | ||
*ap | |||
*app | |||
i'll try offloading that part of p5 i guess for now | 21:32 | ||
*to |