Vision for 2.0: Production Users | Priority for 1.8: Testing Sprint | Priority for this week: close RT tickets | trac.parrot.org/parrot/wiki/Propos...chProtocol | Note: This channel is only for our Tuesday status meetings; you probably want #parrot instead.
Set by moderator on 20 November 2009.
04:52 davidfetter joined 04:54 rin1024 joined 05:28 davidfetter left 12:27 bluescreen joined 12:56 davidfetter joined
japhb DONE: 16:48
* Keep up with pmichaud's NQP-rx improvements (and push for more :-)
* Keep up (mostly) with fperrad's bug reports and metadata updates
* Various Glue.pir improvements
* A few more tests
WIP:
* Big refactoring of main "brains" to OO classes
* Document refactored code
* About 50% done with planned refactors before next feature push 16:49
MAD PROPZ:
* fperrad++ # Copious metadata updates, suggestions, and bug reports
* pmichaud++ # NQP-rx feature-o-rama
* dukeleto++ # Initial pass at qx() tests
NEXT UP:
* More of the big refactoring. I'm currently thinking the depsolver next.
BLOCKERS:
* I think I've got enough unblocked tasks to use all my tuits this week.
* By next week IWBNI NQP-rx had full hash constructor syntax; there are several subprojects that are blocked on this feature.
EOR
Tene I seem to be recovering enough from being sick to do some work again. Poked a little bit at rakudo-ng. KTHXBAI 16:55
16:56 Util joined
Util has nothing to report, will miss the meeting today, and has negative tuits until Monday. 16:56
17:26 NotFound joined 17:51 pmichaud joined 18:04 darbelo joined
cotto_work # Done: 18:09
* Continued converting pprof2cg to nqp.
* npq syntax is nicer than perl syntax. For string processing and efficiency, not so much.
* It's still incomplete but it's way slower than the perl version (9:00 vs 1:30 for same input)
* Note to self: there may be some sort of profiling tool out there that can be used to narrow the gap.
# Will do:
* Eat turkey.
* Finish pprog2cg port and be even more disappointed about how slow it is.
* Start profiling that sucker.
# Blockers: 18:10
* Turkey.
eor
18:12 whiteknight joined
NotFound What I did: 18:13
- parot
* A few fixes and test coverage improvements.
* Improve X11 library search in Xlib example module.
- Winxed
* Big refactor: the compiler written in C++ is now a 'stage 0' compiler,
and the compler driver is now a winxed program, able to be compiled
to .pbc and pbc_to_exe'd. This clears the path towards a self-hosting
compiler.
* Backward incompatible syntax change: now the new operators uses
parentheses for his arguments, and can't be omitted for winxed classes.
* Lots of improvements in parser example, the future 'stage 1' compiler.
Now is able to generate code for some simple programs, and allow
float (N registers) variables, which the stage 0 doesn't.
What I will do:
* No fixed plan.
EOR
whiteknight WHAT I DID: 18:15
(pla) some miscellaneous tweaks and improvements to the test suite
(matrixy) pass more tests, fixes from the messy merge.
(matrixy) Improved and reorganized test suite
(parrot) started work on a new "mystery project". Details to come eventually.
WHAT I WILL DO:
* More cleanup work on Matrixy and Parrot-Linear-Algebra
* I have some ideas for improvements to nqpTAP that I want to try 18:16
* Work on the :call_sig stuff more
* Work on my mystery project
WHAT I AM BLOCKING ON:
* Ongoing computer problems
EOR
18:21 mikehh joined 18:23 kj joined
mikehh What I did in the last week: 18:26
* building and testing parrot on amd64/i386, with gcc/g++, with and without --optimize
* fixing tests
* checking skipped test for passes or able to TODO
What I intend to do in the next week:
* testing and fixing
* continue working on checking skipped tests
.eor
18:32 Coke joined
Tene MEETING TIME 18:34
cotto_work HELLO
NotFound hola
mikehh hi there
Tene It's many-people-are-absent day today, so... anyone have questions or reports to give?
Turkey to share? 18:35
Coke Belated report: pmichaud started on partcl-nqp; hacking on that.
whiteknight hello 18:36
cotto_work This could be the shortest #ps ever.
Tene I seem to be alive again, and I've got a lot of spare time during the long weekend, so if anyone has any tasks they'd like me to work on, please harass me. 18:37
whiteknight Who's driving this train? 18:38
Tene Me!
whiteknight go for it
Tene Well, I did. Everyone has reported, nobody has questions... 18:39
Am I missing anything?
Coke priorities for the next week? I vote "turkey"
darbelo Roadmap review?
whiteknight more optimizing 18:40
Tene Oh, right, there actual plans. Man, I'm an incompetent leader today.
Tene reads topic link
cotto_work Could you re-set that? It's blank for me.
moderator Vision for 2.0: Production Users | Priority for 1.8: Testing Sprint | Priority for this week: close RT tickets | trac.parrot.org/parrot/wiki/Propos...chProtocol | Note: This channel is only for our Tuesday status meetings; you probably want #parrot instead. 18:40
cotto_work Thanks 18:41
Tene okay, there's a bunch of HLL items on the roadmap... there's been no progress on those recently.
NotFound Looks like "close RT tikcets" is no longer a priority ;)
Coke (thanks to everyone who worked on that!)
Tene I didn't see japhb around... anyone else want to talk about seed libraries?
parrot_debugger? 18:42
Priorities? 18:43
We've got one vote for turkey, and one vote for optimization.
NotFound I had plans to take some looks on parrot_debugger after pcc refactor, but Winxed has distracted me. 18:44
mikehh kid51++ removed a load of RT references in parrot
cotto_work I like optimization. 18:45
whiteknight optimization++
cotto_work -Oturkey
Tene Oh, right, 1.8 was released, so we're looking at 1.9 milestones too.
Who's working on bytecode tools?
mikehh but don't forget the big caveat
darbelo A too optimized turkey can outrun you? 18:46
Tene How did the testing sprint mentioned in the topic go? Do we have better tests?
mikehh Util I think 18:47
Tene There's a documentation sprint on the roadmap... is there a list of underdocumented places? 18:48
mikehh a couple but there did not seem to be that much enthuasiam
whiteknight a list of documents needing improvement would be good
allison the tasklist is coming together on trac.parrot.org/parrot/wiki/DocsTasklist
whiteknight (don't have one to my knowledge)
mikehh darbelo: how about get it workin' first
Tene turns the meeting over to allison. 18:49
NotFound A list of documents that doesn't need improvement will be a lot shorter.
allison specific tasks are easier to pick off than "improve X file" 18:50
that is, pretty much any documentation file could be improved in some way
mikehh a prioritizeed list perhaps
whiteknight test all example cod
code
Tene Coke said that the AST documentation was sorely lacking.
I'm not quite sure what's missing there. 18:51
Coke (all example code) it's already mostly tested.
allison start with a goal, for 2.0, "improve user documentation"
mikehh some examples don't work - need fixin'
allison we're getting a lot of reports lately of trouble with the "getting started" tutorials
Coke Tene: something for people who are starting from scratch.
allison: exactly. =-)
allison right, examples that don't work
whiteknight allison: yes, and the make_language_shell.pl utility 18:52
NotFound Someone is working on, or using, SDL?
allison whiteknight: yup
whiteknight Notfound: SDL?
NotFound whiteknight: runtime/parrot/library/SDL 18:53
Tene Is there an index of the various "getting started" tutorials scattered around the internet?
allison Tene: no, and that would be a good place to start
Tene: pulling them into one place inside the Parrot repository 18:54
Tene: (at least where we can)
Tene That's always been one of my worries about docs out on wikis, etc.
NotFound We can list only the ones we know someone is trying to keep up to date.
Tene mk_language_shell is rather out of date, I believe, and really needs to be fixed.
allison Tene: supposedly it can be replaced by fperrad's tool, but for backward compatibility we still need mk_language_shell to work for now 18:55
Coke and once it's fixed, it probably needs to be updatd to nqp-rx.
allison do we have a ticket for that?
pmichaud (back) 18:56
allison okay, so need a ticket for mk_language_shell 18:57
Tene I'd love it if we had a tool that generates configs that support 'make install' and includes plumage metadata.
NotFound Also a tool that checks plumage metadata will be helpful. 18:58
allison Tene: that'd be a good extension to the language shell generators
pmichaud my intent is to create a new language shell generator in nqp. Not sure when it will happen, but should be before the 1.9 release.
(since the procedure for creating a language in nqp-rx is somewhat different from the previous language shell generators) 18:59
allison we may be looking at a replacement then. 19:00
whiteknight is that covered under the deprecation policy?
allison depends on if you consider utility scripts part of the public interface
pmichaud the nqp-rx tool will likely live (initially) in ext/nqp-rx 19:01
it can of course be moved somewhere else :-)
allison for 2.0 it's fine if mk_language_shell only works on the old NQP, but it should work
pmichaud q1q
NotFound I think that programs intended only for interactive usage must not be under deprecation policy. 19:02
allison I'd agree they aren't part of the official deprecation policy 19:03
but, they also shouldn't lie around broken
so, either work or be removed
NotFound Provided that no one will make things like adding an option called --help that does an rm -rf, of course ;)
allison :)
on roadmap review: what are the chances of calling the hll-interop done by 2.0? 19:04
pmichaud allison: good
I've made a lot of progress on it this week
allison excellent
prune c data structures we've made good progress, and I'd be willing to drop it off "roadmap" and down into "ongoing cleanup" 19:05
Tene I plan to do a lot of work on hll interop as well.
pmichaud also, hll-interop documentation is a deliverable for my hague grant :)
allison documentation sprint has been going, I've seen good progress on it
pmichaud: also good
the debugger documentation looks like a good addition to the docs tasklist 19:06
ENOdukeleto for an update on his task 19:07
work on that task
okay, questions
pmichaud?
pmichaud not a question so much as a pointer to a very interesting item 19:09
last week chromatic did some analysis of compilation using pct
the thread is at
irclog.perlgeek.de/parrot/2009-11-20#i_1751189 # for those who wish to go back and read
but the line I wish to point out
chromatic 88.81% of the execution time is *marking* Capture.
the takeaway from the discussion was that GC is killing us 19:10
also, it's not the creation of short-lived objects that is the time eater
it's the long-lived ones that hurt
in particular, this run resulted in 3.2 million PMCs being created due to subroutine/method calls
allison we do have an intensely primitive GC at the moment 19:11
japhb bak ... I see some plumage highlights in the backlog, let me know if there are any outstanding questions
pmichaud but those 3.2 million PMCs only accounted for about 30K marks
allison sounds like the GC refactor just got bumped up in priority
pmichaud the 24K Context PMCs (the point of the compilation) resulted in 500K marks
19:11 dukeleto joined
dukeleto is late but here. for a bit. 19:11
pmichaud in short, we at one time were concerned that switching contexts to PMCs would hurt GC pressure (more) 19:12
NotFound BTW I think that currently we have a problem instantiating PMC.
pmichaud that appears to not be the case -- they're short-lived, and the GC pressure only comes when we do a gc run, and then what matters is the number of live contexts, not the number of contexts that had been created
but gc runs on long-lived data structures are really problematic
allison dukeleto: just wanted a quick update on parrot_debugger documentation, what's done and still needs to be done. You can add it to trac.parrot.org/parrot/wiki/DocsTasklist if that's better
NotFound The PMC are not instnatiated directly, a pmcproxy is created in the cases I checked.
pmichaud (and 24K PMCs is not really a lot of PMCs in the overall scheme of things.) 19:13
allison the pmcproxies do need to go
NotFound That may mean millions of uneeded proxies for simple tasks.
allison NotFound: actually, only one proxy is created for each PMC type
NotFound: so, no more than 100 total 19:14
pmichaud (at one time there was a bug that caused multiple proxies to be created for various PMC types... I cleared those up late spring 2009)
allison but, they're only actually used during subclassing operations, so, could be left off the rest of the time
NotFound allison: one proxy for type, one proxy instance for object.
pmichaud NotFound++ is correct that every instance of a class also gets a proxy instance 19:15
(iiuc)
NotFound No, I talk about plain and simple parrot PMC
allison should be one proxy for Class and one for Object
pmichaud oh, that would be wrong then.
NotFound Very wrong.
I looked at tapir2.ro.vutbr.cz/cover/cover-resu...n-pmc.html 19:16
pmichaud anyway, back to my "question" (which got hijacked) -- I just wanted to point out that chromatic's analysis indicates that 4/5ths of compiler execution is spent in GC. 19:17
NotFound The init_pmc has no coverage on value null, but the test must exercise it.
It doesn't, because is instantiated via pmcproxy
pmichaud I'm hoping we can dedicate some effort to improve that.
(or at least verify that the 88% figure is erroneous somehow) 19:18
eoq
NotFound pmichaud: well, if we are creating a lot of unneeded pmc, stop creating them will mean a lot less pressure on the gc.
pmichaud NotFound: you missed my point.
allison NotFound: the GC is slow, there's no question about that 19:19
pmichaud the point is not how many pmcs are created
allison and, yes this is an important priority
pmichaud the point is that 24K pmcs were sufficient to completely bog down processing, and 24K is not a large number.
allison it's helpful to have more details on where the problem in PCT is 19:20
pmichaud it's not PCT
I guarantee that PCT isn't the issue.
the pmcs in question are just the parse, PAST, and POST nodes 19:21
allison well, that's what I mean, "what is it that causes the compiler to be slow?" is a question we've been asking for a while now
pmichaud ...unless you're suggesting we shouldn't be using trees :)
whiteknight it's not just GC being slow. Specifically it's GC mark
allison if it's GC, at least we have something concrete to fix 19:22
whiteknight that's the part that's hard to avoid
pmichaud if chromatic++'s analysis is correct, what is causing the compiler to be slow is the fact that a long-lived data structure (the parse and ast trees) causes gc to be slow
whiteknight we can be judicious with how much we sweep, but we need to acurately mark things
allison this argues for generational GC
whiteknight my conclusion exactly
allison that is, we shouldn't be sweeping those long-lived PMCs so often
certainly not on every mark run 19:23
pmichaud and although we can perhaps do things to improve the data structure a bit, the point is that trees with a total of 24K nodes isn't all that big for any sort of program
whiteknight It's not sweeping, it's marking that's the problem
according to chromatic (and I need to verify) ~80% of execution time was spent in Capture.mark
pmichaud yes, verification of the result would also be helpful.
whiteknight if we marked the Capture PMCs less, we would also have to mark fewer of their children. A lot of stable things could be grandfathered in 19:24
pmichaud I have trouble believing it, myself, but I trust chromatic more than my own intuition on this point :)
whiteknight increasing pool size yet again might reduce the number of mark+sweep phases we need to trigger for basic operation
pmichaud fwiw, this particular profile showed 92 GC runs 19:25
anyway, I'll leave it at that and hope it prompts some conversation/design work :)
allison sounds like something we can get excited about
pmichaud speeding up compilation by a factor of 4 would get me excited, yes :) 19:26
heck, even a factor of 2 would be nice :)
allison indeed :)
any other questions?
alright, for those in turkey territory, enjoy the festivities, and the rest of us, have a good week! 19:27
japhb oh, for anyone still wondering about the plumage + mk_language_shell stuff,
fperrad has been doing a lot of work on autogenerating plumage infor and setting up project shells. 19:28
Tene japhb: link about that?
japhb Also, I have it as a task item for Plumage (during all this refactoring) to write a stronger verifier for plumage metadata. One that can eventually be considered canonical.
Tene, sorry, I only know about it because he's been talking a lot about it in his numerous personal emails this last week. 19:29
Tene Ah. :)
I look forward to seeing it.
japhb (He's pounding on Plumage pretty hard, finding lots of issues.)
cotto_work I'm verifying that mark number. It should be ready soon.
japhb I think a lot of it is checked in to the parrot repo, just not "advertised" well.
Anyone else have any plumage-related questions for me? I've got to run again pretty soon. 19:30
Also, Allison, we need to pull in the discussion from last week about API docs into DocsTasklist. If you don't get to it by this afternoon, let me know, and I'll try to throw some tuits at it.
(summarizing that discussion to the wiki page, I mean) 19:31
allison japhb: ok, thanks, yes, that would be helpful 19:32
japhb allison: will try
OK, I'll assume no more plumage questions, anyone ask me on #parrot if you think of something, I'll backlog there. 19:33
afk
19:44 PacoLinux left
cotto_work The meeting seems to have fizzled out. 19:49
Tene 12:27 < allison> alright, for those in turkey territory, enjoy the festivities, and the rest of us, have a good week! 19:50
cotto_work oh
gg then
19:51 NotFound left 19:52 pmichaud left 20:43 bluescreen joined 20:52 Coke left 21:41 simcop2387 joined 21:42 darbelo left 23:24 davidfetter joined 23:44 mariano joined