weekly Perl 6 status meetings with phase transitions: Tue 19:00 UTC | IR clogs at irclog.perlgeek.de/phasers/today
Set by moderator on 26 August 2011.
03:04 samlh joined 05:13 pmichaud joined, cotto_work joined 05:14 tadzik joined 15:07 samlh joined
sorear DID: Not enough to warrant a pre-report 15:13
moritz same here
oh wait, I did fix Test::Util on Windows 15:14
jnthn moritz++
That made me happy :)
moritz and I stopped pi.t from disturbing everybody 15:15
and renamed &run to &shell
end of not-really-report
15:53 samlh_ joined 16:59 masak joined 17:34 colomon joined 18:22 samlh joined 18:32 mberends joined
Util Pre-report: 18:50
# Done: gave talk on RosettaCode to Atlanta.pm.
# Plan to do: Nothing this week due to $WORK.
# NOTE: substantial traffic on Parrot mailing list re: abandoning deprecation policy to better accommodate Rakudo development speeds.
EOR
masak o/ 19:00
Util Hello
jnthn o/
mberends o/
tadzik o~ 19:01
pmichaud report: I worked on profiling improvements and locating sources of slowdown, including the source of increased PAST object creation during compilation in nom.
Drafted some messages for the master->ng branch rename.
Worked on the ticket queue stuff a bit. 19:02
19:02 felher joined
pmichaud ran out of $tuits but will have more tomorrow. 19:02
EOR
mberends pmichaud++
pmichaud I'm also mulling over what the recent parrot-dev discussion is likely to imply for rakudo and nqp.
mberends Did: 19:04
* Closer study of per-test benchmarking. The execution time of the old
code dominated the shorter tests. The quickest way for Rakudo to read
the clock is nqp::p6box_n(pir::time__N).
* With a modified lib/Test.pm (diff pastebin.com/tDqSx0gZ) the
fastest tests execute in 9, 10 or 11 microseconds on a 2.67GHz i7.
* Adding a reporting option to tools/test_summary.pl, good results so far
Plan:
* More reporting and analysis of benchmark results
* Add times() into Rakudo for better accuracy
.EOR
masak did: submitted grant proposal to TPF. blogged. plan to: push my macros branch. blockers: there's not enough time in the day. EOR 19:05
moritz anybody else wants to report anything? 19:06
jnthn I have one
tadzik I have a one-liner too :)
jnthn Over the last week...
* Recovered from YAPC, visiting, $dayjob speaking tour
* Re-worked boolification, so it's a bunch cheaper
* Put the serialization context code-gen on a diet, so we have a load less PAST nodes
* Also made us do less work when compiling to run immediately
* Fixed bug in statement-modifying for loop
* Improved method caching 19:07
* Tracked down and dealt with many method cache misses; NQP's build now has none, and the Rakudo build has a tiny fraction of what it once had
* Identified an issue in Parrot's stack tracing that was inefficeint and likely caused a ton of CPU cache misses, wrote to the parrot-dev list about it and was happy to see whiteknight++ jump on it and patch it
* Started sketching out an optimizer in the optimizer branch
* Started planning for the months ahead
In the coming week...
* Focus on stuff we need for nom-based release
* Start detailed planning for bounded serialization
* Try to finalize my current grant work
EOR
mberends jnthn++ 19:08
jnthn (Side note: the optimizer branch is *not* aimed at being merged any time before the initial nom-based release.) 19:09
masak jnthn++ 19:10
tadzik did: measured growing rakudo performance, nom and optimizer branches; plan: pass the exam; eor
masak good luck!
tadzik thanks, I'll need that :)
jnthn tadzik++ # Rakudo measurer in chief
pmichaud jnthn++ tadzik++ masak++ 19:11
jnthn BTW, it was *very* -Ofun to me to be working on improvements and having somebody quickly tell me whether they'd worked.
pmichaud and even though he's not here....
mls++ mls++
masak tadzik++ jnthn++ # the optimal duo
jnthn mls++ indeed
tadzik everyone++ 19:12
jnthn :)
mberends does curing the hang in S02-builtin_data_types/instants-and-durations.t on 32 bit deserve its own mention in the punch list in NOMMAP? 19:13
jnthn yes 19:14
masak yes
jnthn oh, it's 32-bit?
pmichaud depends on the reason for the hang
it might just deserve a regression and rt ticket. 19:15
masak is it "the eternal now"?
jnthn Well, it breaks "no"
er
mberends it hangs only on 32 bit
jnthn ...darn, I'll get famous for that word :P
It breaks "*now*"
mberends: 32-bit on any platform?
masak jnthn: NO
jnthn :P 19:16
mberends jnthn: I know only about Linux 32-bit atm
jnthn mberends: Well, it hangs on 32-bit windows.
Or at least, for me
Seems like a plausible correlation. 19:17
pmichaud what test is hanging, exactly?
jnthn pmichaud: Calling "now" hangs.
pmichaud that's pretty significant.
tadzik I think it's the fact that some int doesn't fit in 32 bits
pmichaud so yes, NOMMAP entry.
jnthn Yes, I think so too.
tadzik istr mls said that
pmichaud I wonder if it's bigint/libgmp related.
fixing the int operations to autopromote to num would likely fix it. 19:18
I've been meaning to do that but haven't gotten $tuit yet.
jnthn That may well be the case. 19:19
mberends can "* fix huge memory leak in simple while loop" also be removed from NOMMAP?
pmichaud is the leak gone?
mberends I've heard rumors to that effect 19:20
moritz that one is gone, yes
mls++
masak \\o/
jnthn I thought moritz++ removed that earlier today, after he bumped PARROT_REVISION?
moritz jnthn++
PerlJam It seemed gone as of this morning.
pmichaud did anyone try the "other" memory leak?
(and do we care?)
jnthn Which "other" one? :)
moritz pmichaud: btw I've observed that the performance of iterating '1 for ^$int' grows nonlinearly for $int >= 20_000 19:21
pmichaud while 1 { nqp::say(pir::set__SP($foo)) }
jnthn Worth re-checking
pmichaud i.e., iiuc the bool fixes avoid the leak as opposed to fixing it. 19:22
(by rerouting the get_bool vtable)
but other vtables might still have a leak.
moritz pmichaud: that doesn't seem to leak on my system with newest nom
pmichaud I'm building newest nom now... will report back. 19:23
moritz pmichaud: there's also been an invocation-related memleak fix in parrot
pmichaud that could've been the source/fix
(cost of iterating ^$int) -- yeah, I suspect it's nonlinear with garbage collection 19:24
there may be a reference hanging around that is keeping the full (iterated) range alive 19:26
moritz pmichaud: seems it's leaking very, very slowly 19:30
mberends dinner & # can't say nom because of ambiguity - don't name a branch 'dinner' ;)
moritz (like 1MB per minute or so)
pmichaud the "while 1 {...}" I gave above? 19:31
moritz the onewith nqp::say
pmichaud that's probably another leak
jnthn sounds like
PerlJam moritz: I've got it running in a loop right now and it seems to be occilating rather than leaking.
pmichaud the set__SP version I had before leaked incredibly fast -- faster than the while 1 { } leak
jnthn ooh, I wonder what "dinner" could be an acronym for... ;) 19:32
pmichaud there's already "dynner" :-P
moritz pmichaud: do you redirect output?
sorry, meant PerlJam
PerlJam moritz: aye, >/dev/null
pmichaud I think I was able to get the leak even without the output; 19:33
while 1 { pir::set__SP(1); 1; } # also leaked before
looking
PerlJam moritz: here's the mem usage for each of the last several minutes: 151384, 158580, 151384, 158580, 151384, 157552
(my loop is while sleep 60; do ...; done) 19:34
(i mean the outer loop that's checkign the mem usage)
pmichaud this is the one I had that leaked really fast as of 2011.08.18: while True { pir::set__SP(1); Nil } 19:35
and we knew that it wasn't the "while True" part that leaked. :)
moritz pmichaud: all of those either stopped leaking, or are sleeping very, very slowly 19:36
jnthn sleeping? :) 19:37
moritz leaking
guess I was thinking of :-)
masak Freudian parent slip ;) 19:38
moritz aye :-)
PerlJam oh ,the occilations have bumped up a little bit .. 159608, 152412, 159740, 153572
those are the 12th minute to the 15 minute of execution 19:39
moritz might just be memory fragmentation 19:40
PerlJam maybe 19:41
yeah, in the last few minutes it ratchetted back down a little bit. 19:43
pmichaud, jnthn: one of you might want to hang out on #parrotsketch and participate in the discussion 19:50
pmichaud PerlJam: I'm a little hesitant to participate in the discussion. My reactions to the change are a little mixed. 19:59
but I will hang out to see what's being said. 20:00
PerlJam pmichaud: for me, if this latest round of changes doesn't turn into some momentum, I say Parrot is doomed. 20:04
moritz should offer to test rakudo on parrot blead and report failures -- which is what he does anyway 20:07
PerlJam moritz: see #parrotsketch :) 20:08
PerlJam crosses his fingers for Rakudo+Parrot 20:20
TimToady it would appear that sphere is no longer leaking \\o/ 20:25
masak \\o/
TimToady mind, it still runs about 50 times faster under niecza... :D 20:36
jnthn sphere?
PerlJam #ps seems to be getting less productive over time (as far as Rakudo + Parrot working in harmony) 20:42
TimToady jnthn: rosettacode.org/wiki/Draw_a_sphere#Perl_6 suitably modified for lack of MAIN 20:43
tadzik is there a lack of MAIN? 20:44
TimToady rakudo: sub MAIN { say "hi" }
tadzik I remeber fixing it a while ago
TimToady er
wrong channel
tadzik oh, I thought it broke 20:45
TimToady I guess it is there
colomon TimToady: I'm starting to think we may need a PPM / PGM / whatever library for p6. ;) 21:01
22:01 samlh joined 22:55 [Coke] joined