|
Priorities for this week: Plan our Testing Infrastructure (choose lead person), Contact all GSoC students | Post closed tickets in your report. | Note: This channel is for our Tuesday status meetings (at 20:30 UTC); you probably want #parrot instead. | irclog: irclog.perlgeek.de/ Set by moderator on 10 May 2011. |
|||
|
00:00
lucian left
00:44
bacek joined
00:48
whiteknight left
00:50
whiteknight joined
00:56
whiteknight left,
whiteknight joined
01:52
wagle left
01:55
wagle joined
01:56
ShaneC left
02:40
whiteknight left
06:57
contingencyplan joined
09:30
contingencyplan left
11:09
whiteknight joined
13:12
lucian joined
15:02
contingencyplan joined
15:24
whiteknight left
15:27
whiteknight joined
15:39
bluescreen joined
15:40
mariano joined
15:41
bluescreen_ joined
15:45
bluescreen__ joined
15:46
bluescreen__ left,
mariano left,
bluescreen__ joined
16:07
lucian_ joined
16:12
lucian left
16:14
lucian joined,
lucian_ left
16:18
lucian_ joined,
lucian left
16:21
bluescreen__ left
16:22
bluescreen__ joined
16:23
bluescreen left,
bluescreen_ left,
bluescreen__ left
17:05
contingencyplan left
19:01
soh_cah_toa joined
19:24
pmichaud joined
19:28
bubaflub joined
20:32
plobsing joined
20:46
soh_cah_toa left
20:49
soh_cah_toa joined
20:51
dukeleto joined
|
|||
| dukeleto waves | 20:51 | ||
| tadzik waves too | 20:52 | ||
| pmichaud | I wanted to post to parrot-dev but m/l issues are likely to make it late, so I'm nopasting instead: | 20:54 | |
| gist.github.com/972619http://gist.g...com/972625 | 20:56 | ||
| oops | |||
| gist.github.com/972625 | |||
|
20:57
kid51 joined
|
|||
| dukeleto | hola | 21:00 | |
| cotto | hello | ||
| pmichaud | for those coming in just now and didn't catch it -- my preliminary notes for PDS are at gist.github.com/972625 | ||
| bubaflub | hello | 21:02 | |
| dukeleto | PDS meeting agenda is here: nopaste.snit.ch/45279 | ||
| soh_cah_toa | yay, pds now! | ||
| pmichaud | (I have to run a quick errand -- bbi15) | 21:04 | |
| cotto | For the record, our roadmap goals were listed in this thread: groups.google.com/group/parrot-dev/...0c2e531e92 | 21:05 | |
| dukeleto | so where is this train headed? | ||
| any other gsoc students hiding? | 21:06 | ||
| cotto | deprecations as data, imcc isolation, M0 spec | ||
| soh_cah_toa | dukeleto: i'm here | ||
| kid51 | Re: roadmap goals from last summit | 21:07 | |
| In March, I solicited feedback on them both on parrot-dev and in personal communications with other key developers. | |||
| My recollection of the feedback was: | 21:08 | ||
| 1. Deprecations as data: Substantially met. Indeed, met so soon after PDS that it perhaps needn't have been a Roadmap Level goal. | |||
| 2. IMCC isolation: A lot of effort by whiteknight et al. I hope whiteknight can describe status better. | 21:09 | ||
| 3. M0: Substantial progress only in last 4 weeks. | |||
| whiteknight: Can you describe status of IMCC isolation? | 21:10 | ||
| whiteknight | sure | ||
| It was a little bit of a bumpy road, but the state of IMCC is much better now than it was | |||
| dukeleto | soh_cah_toa++ # excited and diligent gsoc students | ||
| whiteknight | IMCC pokes into the internal guts of Parrot still, but to a far lower degree. Parrot does not depend on IMCC at all anymore | 21:11 | |
| kid51 | whiteknight: Any more details? Next steps? | ||
| whiteknight | we can run libparrot without ever initializing or using IMCC, and it's feasible that we can build libparrot completely without imcc | ||
| at the moment, there are no urgent next steps. | 21:12 | ||
| kid51 | Thanks. | ||
| dukeleto: Any next steps for deprecations as data? | |||
| whiteknight | Eventually we will be able to excise IMCC completely, and I suspect some GSoC projects are going to help nudge us in that direction | ||
| dukeleto | kid51: yes. I would like to have a web-based frontend for deprecations | ||
| kid51 | Can you describe that? Is it a "nice to have" or a "must have"? | 21:13 | |
| dukeleto | kid51: for example... | ||
| kid51: we should automatically be running our deprecation tools on Rakudo, Partcl and other HLLs, with a web-frontend that shows the data | 21:14 | ||
| pmichaud | (back) | ||
| kid51 | dukeleto: Can you describe what you mean by "our deprecation tools"? | 21:15 | |
| dukeleto | kid51: such as "HLL Foo is using function_bar which is ready for removal in 43 days". It isn't perfect, and it won't find everything, but it would be a useful canary in the coalmine | ||
| kid51 | And do we currently have tools that do that (web interface or otherwise)? | ||
| dukeleto | tools/dev/(dedeprecator,show_deprecations.nqp,show_experimental.nqp) | 21:16 | |
| kid51: no, we don't. And I think that is something that should change. | |||
| kid51: we need to improve the flow of information from HLLs to Parrot core and vice versa | |||
| pmichaud | (are we taking comments on the next steps or simply identifying them now?) | ||
| kid51 | dukeleto: To be honest, I was completely unaware of the existence of those programs | ||
| pmichaud: No, we're reviewing what was done on Roadmap Goals since last PDS | 21:17 | ||
| dukeleto | kid51: life moves fast :) | ||
| kid51 | cotto: Current status of M0? | ||
| cotto | more detailed M0 status - gist.github.com/972649 | ||
| pmichaud | kid51: I ask because your question was "Any next steps...?" and I have some questions/comments | ||
| it can wait | |||
| kid51 | pmichaud: I know. We'll get to you :-) | 21:18 | |
| bacek | ~~ | ||
| pmichaud | (specifically, I have questions/comments about dukeleto's next steps :-) | ||
| (silencing) | |||
| kid51 | pmichaud: Yes, but that will come in a few. | ||
| kid51 reads cotto's gist | 21:19 | ||
| dukeleto | i expect that i am very close to finishing the m0 assembler. I haven't had sufficient time/tuits recently to put towards it | ||
| kid51 | So, my impression is that substantial work was done on all 3 Roadmap Goals ... | 21:20 | |
| dukeleto | kid51: indeed | ||
| cotto | yes | ||
| kid51 | ... but in each area there are substantial next steps. | ||
| If so, then can we review what was done since last PDS that was *not* in Roadmap Goal context? | 21:21 | ||
| Example, bacek et al work on GC? | |||
| dukeleto estimates roughly 2 weeks to a done-enough M0 assembler to shake out any remaining holes in the M0 spec | |||
| pmichaud: ask your question about m0, and if bacek is around to talk about the GC, we will let him | 21:22 | ||
| pmichaud | I don't have a question about m0 | ||
| my comment is about the deprecation-on-web thingy | |||
| kid51 | bacek: ping | ||
| bacek | kid51, pong | ||
| bacek is still trying to wake up. | 21:23 | ||
| dukeleto | pmichaud: ah. well, i would like to hear that as well :) | ||
| pmichaud: go for it, give bacek++ time to wake himself | |||
| pmichaud | my main comment is that the web tends to be passive -- it requires someone to actively go look at it before things are noticed. Better would be notifications to the mailing list or channel (a-la ttbot). | ||
| dukeleto | pmichaud: to which mailing list? | 21:24 | |
| kid51 | In the general context of non-Roadmap goals, there's what we did despite not being on roadmap (GC work) and what we failed to do (pmichaud's gist) | ||
| dukeleto | pmichaud: people get their axes when anybody attempts to send automated smoker/etc email to parrot-dev | ||
| pmichaud | parrot-dev, and/or the mailing list of the thing being checked for deprecation | ||
| dukeleto | pmichaud: i think we may need a parrot-smoker mailing list or something | 21:25 | |
| pmichaud | don't do it on every commit -- do it once per day. or only when the deprecation list changes | ||
| even once per week ought to be sufficient | |||
| dukeleto | pmichaud: parrot-dev simply won't work. People will have torches at your (or my) door. | ||
| pmichaud | make a separate deprecations list that people can subscribe to | ||
| I'm simply saying "look it up on the web" is likely to be ignored | |||
| or forgotten | |||
| dukeleto | pmichaud: emails can be sent from the software | ||
| pmichaud | feel free to ignore my suggestion and do whatever you think is best | ||
| kid51 | pmichaud: Agreed. It would suffer from wiki-like bitrot | ||
| pmichaud | I don't think it will catch all that much anyway. | 21:26 | |
| dukeleto | pmichaud: i attempted to send emails from jitterbug to parrot-dev for failing test suites, and bacek++ was not pleased | ||
| cotto | I like active notification via email, but web apps can do that too. | ||
| dukeleto | pmichaud: i appreciate your positive encouragement | ||
| kid51 | As for non-Roadmap stuff, ... | 21:27 | |
| ... last time around ... | 21:28 | ||
| pmichaud | kid51: instead of "failed to do" i prefer "haven't achieved yet" :) | ||
| bacek | dukeleto, I prefer ttbot for broken builds. It much less annoying but still highly visible. | ||
| kid51 | ... we got a list of rakudo's needs, in part during the PDS and in part in the following days. | ||
| So, technically, they were'nt on the roadmap. | |||
| And I suspect that we will have to put them on the roadmap. | 21:29 | ||
| But, for right now, pmichaud, do you have anything to add to your comments in gist? | |||
| pmichaud | only that if we get to a discussion of dealing with deprecation breakages, I now have a suggestion. it can wait until we get to that point (if ever) | 21:30 | |
| kid51 | okay. | ||
| Other than reserving time for bacek on GC, are there any other *retrospective* things we should discuss? | 21:31 | ||
| pmichaud | will parrot be relying on rakudo for its performance measurements going forward? | ||
| one of the things we discovered with rakbench was that the February 2011 release was horribly slower than the january one. I don't believe anyone noticed it until I did the benchmarks with rakudo. | 21:32 | ||
| bacek | pmichaud, I definitely will use rakbench. | ||
| whiteknight | we don't have any benchmarks that really duplicate Rakudo's performance profile | ||
| pmichaud | whiteknight: yes, thus my question. | ||
| whiteknight | pmichaud: it is an invaluable source of data, although not the only one we have | ||
| pmichaud | agreed, but still not an answer to my question | ||
| cotto | pmichaud, if you mean "regularly testing Rakudo's performance", that's something we need to do. We should form a plan to that end. | 21:33 | |
| pmichaud | I'm not asking that rakudo be the exclusive measure. I'm simply asking if Parrot will need to be using it as a measure. | ||
| kid51 | Yes | ||
| pmichaud | because that has implications for rakudo's release/dependency cycle | ||
| cotto | Of course not, but going from testing one language to testing two is much easier than zero to one. | 21:34 | |
| kid51 | describe implications ... | ||
| pmichaud | it has been suggested again today (on the mailing list) that rakudo should be targeting something other than parrot head | ||
| if rakudo chooses to target only supported releases, then performance benchmarking isn't really possible | |||
| whiteknight | pmichaud: what Rakudo is, is a great measure of Rakudo performance. If we don't have a rakudo benchmark, we will optimize for other benchmarks that won't necessarily help Rakudo | 21:35 | |
| pmichaud | I want to either kill the notion that rakudo should target something other than head, or make it formal that it should only target releases. | ||
| whiteknight: false. | |||
| whiteknight | so, if we want Rakudo performance to increase, we need it as a regulra benchmark | ||
| pmichaud | the benchmarks we did this past month are almost exclusively Parrot performance. | ||
| whiteknight | pmichaud: these ones, yes. There have been plenty of other cases where the usage patterns of Rakudo were not adequately covered by our benchmakrs | 21:36 | |
| the last round is just one of many to consider | |||
| pmichaud | I'm not following where you're leading. | ||
| s/following/understanding/ | |||
| perhaps it's not important | 21:37 | ||
| anyway, that's my question, I don't know that it needs resolution in this meeting. | |||
| bacek | How hard is to setup infrastructure similar to speed.pypy.org? | ||
| dukeleto | bacek: it is time and energy to set it up and not difficulty | 21:38 | |
| pmichaud | I may be able to come up with something. | 21:39 | |
| dukeleto | bacek: isparrotfastyet.com attempted to get there, but i doubt atrodo++ has much time to devote to it | ||
| pmichaud | Still, not directly addressing my question. | ||
| dukeleto | pmichaud: i was not attempting to address your question | ||
| pmichaud | fair enough. | ||
| (my comment was in response to bacek, fwiw) | 21:40 | ||
| whiteknight | pmichaud: I'm not sure I am clear what your question is | ||
| pmichaud | will parrot be relying on Rakudo (at all) for (any of) its performance measurements going forward? | ||
| bacek | pmichaud, one of the current problems - we don't have consistent way of comparing performance of parrot builds. | 21:41 | |
| whiteknight | my answer is that I thnk it's in the best interests of Rakudo if we do | ||
| cotto | It's clear that not having an aggregation of Rakudo's performance has caused us to miss its performance regressions due to Parrot. Let's make it a roadmap goal to make those measurements accessible. | ||
| bacek | pmichaud, from my point of view - yes, we'll use it. | ||
| pmichaud | and if yes, does that mean that we expect Rakudo to be continue to target something more frequent than individual parrot releases? | ||
| whiteknight | we will be able to focus our optimization efforts on what Rakudo needs if we are benchmarking regularly against Rakudo | ||
| dukeleto | bacek: we could run a benchmark suite on the OSL supercell vm cluster | ||
| whiteknight | pmichaud: I'm not sure that's a question Parrot can answer. | 21:42 | |
| dukeleto | bacek: but we don't, because no one has said "sure, I'll stop everything and spend an undefined amount of time setting up and maintaining something" | ||
| whiteknight | if Rakudo works against Parrot head, we benchmark the pair more frequently | ||
| if not, we benchmark less frequently | |||
| cotto | pmichaud, I think the best answer is that we'll support Rakudo's attempts to run against master. | ||
| pmichaud | cotto: thank you. | 21:43 | |
| whiteknight | yes, what cotto says | ||
| (my ability to explain what I am thinking is poor today) | |||
| pmichaud | that answers my question(s) | ||
| kid51 | Do we have any more to discuss under 'I' of the agenda posted here: nopaste.snit.ch/45279?tx=on&sub...Format+it! ? | 21:45 | |
| pmichaud | I wish to commend whiteknight++ on the imcc landing. That was non-disruptive (and difficult to achieve). | 21:46 | |
| it was "non-disruptive" to Rakudo, and had a huge potential to be. | |||
| so, fantastic work. | 21:47 | ||
| whiteknight | being non-disruptive was the #1 priority | ||
| pmichaud | you succeeded. | ||
| whiteknight | thank you very much | ||
| kid51 | whiteknight: how was non-disruptiveness achieved? | ||
| whiteknight | kid51: identifying a stable interface, and testing the heck out of it | ||
| kid51 | Are we ready to go on to Agenda item II? | 21:49 | |
| pmichaud | (I am ready. | 21:50 | |
| ) | |||
| cotto | sure | 21:51 | |
| kid51 | Hearing no objection .... | ||
| cotto | The closest conference I know of to July 19 is OSCON, which goes from the 25th to the 29th. | ||
| kid51 | I'm recommending that we set date for our next summit now, lest we forget about it later in meeting. | ||
| pmichaud | FOSSCON is in Philadelphia on July 23 (I'm tentatively attending) | ||
| cotto | Yes. I was looking at the 2010 fosscon. | 21:52 | |
| kid51 | I *strongly* want us to avoid any last-minute rescheduling of PDS as we did this time. Anticipating an Apr 30/May 1 PDS, I scheduled my time off from work and travel plans accordingly. | ||
| pmichaud | at any rate, I don't have an expected conflicts for the 30th-31st | ||
| whiteknight | Those dates work fine for me | ||
| pmichaud | *any | ||
| bacek | Any date should work for me. | 21:53 | |
| cotto | I also don't see any conflict. | ||
| kid51 | Do we then have a consensus that the next PDS will be held on either July 30 or 31? (Exact time TBD) | ||
| whiteknight | yes, let's set it for that weekend, we'll pick the time with doodle or whatever | 21:54 | |
| cotto | +1 | ||
| pmichaud | +0.5 # my attendance is less weighty than others' | ||
| kid51 | Okay, so now we can proceed to Agenda Item III | ||
|
21:54
mikehh joined
|
|||
| cotto | any volunteers to send the doodle? | 21:54 | |
| pmichaud | I volunteer cotto, since he's experienced at doodling. :) | 21:55 | |
| cotto | sigh | ||
| bacek | cotto, if you have to ask :) | ||
| cotto will doodle | |||
| whiteknight | cotto: let me take it this time | ||
| pmichaud | (is it a lot of work?) | ||
| whiteknight | We need to raise the bus number | ||
| cotto | whiteknight, even better | ||
| pmichaud, not really | |||
| pmichaud | okay | ||
| bacek | afk a bit | ||
| pmichaud | on to III when others are ready | 21:56 | |
| whiteknight | I'll look at that later tonight | ||
| cotto | sure | ||
| kid51 | My general belief ... | ||
| ... is that in this quarter (and probably the next) ... | |||
| is that our Roadmap Goals have to focus more on what our customers (HLLs) need now rather than what we (parrot core devs) might choose to work on the most | 21:57 | ||
| Which means elevating some of the concerns raised by pmichaud to Roadmap Goal status and forming teams to work on them. | |||
| Which further means that getting work done in those areas takes precedence over, say, extending work on other areas. | 21:58 | ||
| That's my general feeling. | |||
| whiteknight | I think it's looking like I'm going to need to start focusing on profiling | 21:59 | |
| kid51 | Among other things, that implies that our devs should not get so caught up in GSOC mentoring that we ignore HLL needs | ||
| cotto | I was just thinking that I need to make that a roadmap goal. | ||
| whiteknight | that appears to be a huge area of concern for Rakudo where nobody else is currently working | ||
| cotto | (referring to what whiteknight said) | ||
| whiteknight | I was really hoping we would have a GSoC student on that project, but that didn't pan out | ||
| cotto | She tried, but not hard enough, so here we are | 22:00 | |
| whiteknight | right | ||
| cotto | sounds like whiteknight and I are volunteering. Any others? | ||
| whiteknight | beyond that, reading through pmichaud's message, it looks like general optimizations are the name of the game | ||
| kid51 | As I noted earlier, we have to distinguish between "nice to have" (which is an excellent place for GSOC) and "must have" (which is province of Roadmap Goals) | ||
| whiteknight | We should set a performance goal. Say, Parrot 3.5 should be 10% faster than the Parrot 3.0 build for Rakudo | 22:01 | |
| cotto | If a q&d hacky profiler got a significant improvement, profiling is beyond "nice to have" | ||
| whiteknight | and we hit that milestone by whatever means necessary | ||
| bacek | whiteknight, heh. On what kind of box? | ||
| whiteknight | bacek: any box. Lots of hand-waving | ||
| cotto | valgrind? | ||
| also, how much ram | 22:02 | ||
| kid51 | "we hit that milestone by whatever means necessary" -- yes that is what a Roadmap Goal ought to mean | ||
| bacek | whiteknight, 3.3 is 20% faster than 3.0 on 4G- boxes. | ||
| whiteknight | bacek: on pmichaud's box | ||
| kid51 | :) | ||
| cotto | whiteknight, nice | 22:03 | |
| bacek | whiteknight, 8G, 64bits? Lets rewrite PCC from scratch. | ||
| whiteknight | kid51: a percentage performance improvement is hardly something that we can ever guarantee | ||
| bacek: don't tempt me. I *will* rewrite PCC eventually | |||
| bacek | I can probably increase GMS performance a bit, but this box isn't memory bounded. | ||
| whiteknight | I would start on it tomorrow, if profiling weren't a bigger need | ||
| We need profiling, we need four metric shit-tons of benchmarking, and we need optimizing | 22:04 | ||
| pmichaud | note that from rakudo perspective, "faster parrot" is still more important than "profiling". It's just that profiling can be a huge help towards getting to "faster parrot" | ||
| also, rakbench can easily accommodate pure Parrot benchmarks, if we wish to add some. | |||
| whiteknight | if we can get teams dedicated to each of those three things, I think we can call that a roadmap | ||
| bacek | I think I can improve current PCC a bit without total redesign. But "C-to-PIR" calls and MMD are way too complex. | ||
| whiteknight | unless there are other things people want to get devoted to | ||
| bacek: I'm not as worried about it as you are. C-to-PIR isn't too bad | 22:05 | ||
| pmichaud | I would recommend holding on PCC until we've got Rakudo no 6model. there will be important lessons there that feed into pcc improvements | ||
| whiteknight | MMD is trickly only because we need to preserve semantics | ||
| pmichaud | s/no 6model/on 6model/ | ||
| bacek | whiteknight, C-to-PIR is why we have intermediate storage of arguments. | 22:06 | |
| pmichaud | (unless, of course, there is low hanging fruit on pcc improvements, in which case pick 'em right away) | ||
| bacek | whiteknight, MMD is tricky because of :flat | ||
| whiteknight | bacek: right, but we have all those interfaces. If we keep CallContext, we can keep C-to-PIR the way it is without changes | ||
| pmichaud: nothing low enough. There is gold in them there hills, but it won't be easy to mine | 22:07 | ||
| pmichaud | whiteknight: right, I agree | ||
| still, we're sometimes surprised by what profiling reveals :) | |||
| (which is what you started with :) | |||
| bacek: also, 3.3 is *not* 20% faster on 4G- boxes | 22:08 | ||
| whiteknight | right. 6model was my priority. I'm going to push that back and work on profiling now instead | ||
| bacek | pmichaud, "on building Rakudo" | ||
| pmichaud, core.pm test on plum :) | 22:09 | ||
| pmichaud | bacek: github.com/pmichaud/rakbench/blob/...100844.txt # core.pm on 2GB kiwi | ||
| 7% slower | |||
| bacek | pmichaud, erm. core.pm is 40% faster. rx is 15%. | 22:10 | |
| pmichaud | on 3.3.0? | ||
| or 3.3.0+lots of patches that haven't been released yet? | |||
| bacek | pmichaud, ah. yes. | ||
| whiteknight | pmichaud: those three boxes you list, are those going to be available for a while? | 22:11 | |
| pmichaud | whiteknight: yes. | ||
| whiteknight | if so, we could call those our gold standard boxes, and make them better | ||
| bacek | whiteknight, I would like to some 32bits boxes as well | ||
| whiteknight | ok | ||
| pmichaud | github.com/pmichaud/rakbench/blob/...140653.txt # 4GB (actually 3.5GB) | ||
| bacek | and non-linux | ||
| cotto | I have a 32-bit laptop that just became mostly-idle | 22:12 | |
| pmichaud | 51% slower on 3.3.0. 0.8% slower on 3.3.0+patches | ||
| I can install 32-bit on my boxes and test them as well. | |||
| bacek: so it's not simply a function of memory that is making things faster/slower | |||
| soh_cah_toa | i have plenty of machines i can test on. in fact, i already have been | ||
| bacek | pmichaud, of course. But I was focusing on GC part. Which should get better. | 22:13 | |
| whiteknight | okay, let's make a goal of 10% improvement over 3.0.0 on *all* machines where we run benchmarks | ||
| I don't feel like 10% is impossible to do across the board | |||
| cotto | 10% on what? | ||
| core.pm? | |||
| whiteknight | yeah, core.pm seems the most painful | ||
| pmichaud | I'll try to locate some suitable parrot-only or otherwise stable benchmarks that can be stable across all releases | ||
| rakudo has trouble fitting that bill because we can't get a modern rakudo to build on an old parrot, or vice-versa | 22:14 | ||
| the benchmark that is most useful/representative at this point (for Rakudo users) is the "coretest" benchmark | |||
| it's a set of unchanged spectests across all releases tested | |||
| bacek | whiteknight, nope. core.pm doesn't represent load from perl6 runtime. We need core.pm and commontest (at least) | 22:15 | |
| pmichaud | right, commontest (sorry) | ||
| whiteknight | bacek: okay. 10% on that. | ||
| cotto | commontest? | ||
| pmichaud | in other words, it's the performance of rakudo on identical p6 programs over time (the programs are unchanged from, say, 2011.01 to present) | ||
| cotto | ok | ||
| pmichaud | and the p6 programs test many different features of Perl 6 | 22:16 | |
| kid51 | We have 9 weeks and 3 days until Parrot 3.6 release. | 22:17 | |
| bacek | Plus we need examples/shootout/*.t | 22:18 | |
| (from parrot) | |||
| kid51 | Of the items discussed above, what can/must we deliver by July 17; what will have to be targeted for 3.9 (Oct 18)? | ||
| pmichaud | bacek: should I time each individual shootout program, or the group collectively (or both?) | ||
| bacek | pmichaud, "both" is best case. | 22:19 | |
| pmichaud | is there a preference between the two? | ||
| (if I need to choose one or other?) | |||
| bacek | pmichaud, individual tests then. | ||
| pmichaud | okay. | ||
| I'll start with that. | |||
| bacek | Otherwise it's hard to catch regression in particular part of parrot due coarse granularity. | 22:20 | |
| whiteknight | The more benchmarks we can get, the better | ||
| pmichaud | ...and rakbench makes it easy to select subsets of benchmarks and builds | ||
| whiteknight | pmichaud: does rakbench accept submissions like smolder with test reports? | 22:21 | |
| pmichaud | whiteknight: no | ||
| and probably shouldn't | |||
| whiteknight | ok | ||
| kid51 | We ought to have a mechanism for responding (as a project) to any reported deterioration in performance discovered via benchmarking. | ||
| bacek | whiteknight, github.com/tobami/codespeed/ | ||
| pmichaud | kid51: trac ticket, perhaps? | ||
| whiteknight | bacek: looks promising | ||
| bacek | I think we can install it somewhere and connect rakbench to it. | ||
| whiteknight, this is app behind speed.pypy.org. | 22:22 | ||
| kid51 | pmichaud: That's a start ... but I'm talking about the human factors. | ||
|
22:22
bluescreen joined
|
|||
| pmichaud | kid51: my experience thus far is that performance degradations get quick attention when reported | 22:22 | |
| bacek | "Smolder" style submission interface, etc. | ||
| pmichaud | (as they are right now) | ||
| still, I won't object to further process/structure for it, if others think it's needed/useful | |||
| bacek | afk # looks like my kids going to destroy house | 22:23 | |
| pmichaud | (bacek's kids are garbage collecting, perhaps? :-) | ||
| (or perhaps they're generating garbage for him to collect :-) | |||
| whiteknight | my kid generates tons of garbage | ||
| pmichaud | kid51: sorry to have derailed your comment | 22:24 | |
| kid51 | pmichaud: I'm thinking of how Parrot leadership persuades Parrot devs to stop what they're doing when there's a deterioration in Rakudo or HLL performance | 22:25 | |
| lucian_ | is winxed stable enough across parrot versions? | ||
|
22:25
lucian_ is now known as lucian
|
|||
| lucian | conceivably, a test suite could be written in that | 22:25 | |
| pmichaud | kid51: I think that may lead into my "I think I have a solution to the deprecation breakage problem" remark from earlier, perhaps | ||
| lucian | for benchmarks | ||
| kid51 | Because the first objective of benchmarking is to prevent sliding backwards | ||
| pmichaud:proceed | |||
| pmichaud | my thought is actually a resurrection of something that others (I think whiteknight and/or kid51) proposed, but I nixed and now realize I was likely wrong. | 22:26 | |
| kid51 | elaborate | ||
| pmichaud | for problems relating to rakudo breakages, we probably need to designate point persons for the rakudo and parrot teams for "escalation" when problems arise | ||
| whiteknight | what kinds of "problems" are we talking about? | 22:27 | |
| pmichaud | as I said, I nixed this before, but upon thinking about it with respect to recent issues, I think it would work | ||
| the last couple of paragraphs of my PDS gist is what I was thinking about | |||
| but that also fits with what kid51 just said, perhaps -- about "Parrot leadership persuades devs to stop what they're doing when there's a deterioration..." | 22:28 | ||
| where in this case, "point person" is someone "empowered to issue a 'stop and rethink' command that others know to pay attention to" | |||
| or something like that | |||
| kid51 | Yes. | ||
| pmichaud | I can elaborate further with an example, if that helps. | 22:29 | |
| kid51 | A customer relationship manager on the Parrot side. A vendor relationship manager on the HLL side. | ||
| elaborate | |||
| pmichaud | let's consider the recent breakage on the random number generator for Rakudo | ||
| cotto | I think any of me, whiteknight and kid51 could perform that role. | ||
| pmichaud | (I'm choosing it because it's already resolved.) | 22:30 | |
| cotto gets to serve as a bad example | |||
| pmichaud | several people on the Rakudo team noticed that Parrot no longer generated random numbers as Rakudo expected it to | ||
| bacek is back | 22:31 | ||
| pmichaud | they discussed it with various folks on Parrot, and came away with the sense that Parrot's position was "you have to solve this on your own, sorry it broke but it's not something we're going to fix on our end" | ||
| when I inquired about it on #perl6, that's what they told me -- basically "we're told it's not going to be changed back in Parrot" | |||
| then I came in, had a brief discussion with cotto++, and he agreed that it needed to be fixed | |||
| it got fixed, which is good | |||
| the part that is bad is the bad feeling that developed from the rakudo devs feeling that their needs were rejected by whatever Parrot devs they were talking to | 22:32 | ||
| *that's* where our frustration arises | |||
| cotto | That's what we need to avoid. | ||
| pmichaud | there's another case that is currently ongoing (the 't' deprecation) | ||
| but the significant factor is that sometimes the Rakudo devs feel that the Parrot team doesn't credit us for already trying to solve the problem on our own before coming to Parrot for help | 22:33 | ||
| whiteknight | I've been playing the role of project manager, so that seems like a job I should volunteer for. | ||
| pmichaud | (that may or may not be the truth of what is happening, but that's the perception on our end) | ||
| whiteknight | being told that it wasn't parrot's problem is absolutely not what should have happened | ||
| pmichaud | so, we ask for help, and we're often told "you need to go fix things on your end first" | ||
| or "everything you need is in this ticket" (that in fact we've already looked at and have decided isn't sufficient for us to solve our problem) | 22:34 | ||
| cotto | I think that part of the problem was that the response didn't represent a well-thought-out consensus, but the thoughts of whoever happened to be in #parrot at the time. | ||
| pmichaud | cotto: exactly | ||
| so, relationship managers help to solve that | |||
| whiteknight | maybe the strategy should be to come to a point person first, instead of just chatting about problems in #parrot | ||
| pmichaud | so when a rakudo dev feels stonewalled by #parrot, they go to the relationship manager (for Rakudo) who communicates "this is a real problem" to his counterpart and a stop-the-presses order can go forth | 22:35 | |
| whiteknight | the response you get in the chatroom is always going to be dependent on the people in attendance | ||
| pmichaud | whiteknight: yes, I agree | ||
| I'm not sure that we should say *always* go to the point person | |||
| cotto | I like it. | ||
| kid51 | There's a cultural problem here. | ||
| pmichaud | because that introduces synchronization dependencies | ||
| whiteknight | pmichaud: I like that idea. Do you want to pick somebody you are comfortable with, or do you want us to self-select? | ||
| cotto | The point person is a good second point of contact if #parrot doesn't work out. | ||
| pmichaud | but if we simply say "if you feel like you're not getting the answers you want, there's a recourse" | 22:36 | |
| kid51 | The Parrot project inherently attracts "internals guys" | ||
| ... and "internals guys" tend to have different interests from HLL people, who are of necessity more outwardly-focused. | |||
| pmichaud | if we know there's a recourse and that there is a person empowered to take a higher-level view decision (and make it stick), then I think we'll be happy with that | ||
| for example, part of my frustration with the 't' deprecation is that there's only one person that seems to be discussing it on the mailing list from the Parrot side, and he's starting to make claims about Parrot positions that aren't consistent with other things we've decided in the past | 22:38 | ||
| but since there's no designated person to "represent Parrot" (and nobody else from Parrot saying otherwise), it's frustrating. | |||
| cotto | pmichaud, would you like to pick someone or have us self-select? | 22:39 | |
| pmichaud | self-select is fine | ||
| if that doesn't work, I'll let you know, but I think I'm quite comfortable with any of the people present | |||
| cotto | great | ||
| nominations/volunteers? | |||
| pmichaud | also, from my side I might need to designate two representatives, simply because my availability is sometimes out of my control | 22:40 | |
| mikehh | would it help to have a weekly meeting between HLL and parrot devs something like #ps | ||
| cotto | a lot can happen in a week | ||
| whiteknight | I would definitely like to take this role, at least in part | 22:41 | |
| kid51 | whiteknight: I think you would be good at this from the Parrot side ... but it would mean redirecting some of your time/energy away from more internally focussed stuff. | ||
| whiteknight | a second person to increase availability would be nice | ||
| cotto | I'll do that. | ||
| pmichaud | +1 to having two people | 22:42 | |
| two is sufficient, and I'm certain that two can work it out | |||
| cotto | pmichaud, can you make sure that the Rakudo hackers know about this? | ||
| kid51 | Or I could ... at least from the "sounding the alarm" point of view. (I don't think people would listen to me saying "stop the presses".) | ||
| pmichaud | I'm hoping it won't be a huge time/energy sink (more) | ||
| cotto | I don't think it will be either. | ||
| pmichaud | also, from our perspective the panic is generally not a "XYZ broke and it has to be fixed NOW" | 22:43 | |
| the panic for us is when "XYZ broke and people are telling us it will never be fixed" | |||
| as long as we know a resolution is being worked on / likely, we can live with that | 22:44 | ||
| so it's only "stop the presses" in the sense of "Parrot cannot let this continue into its next release" | |||
| PerlJam | . | ||
| pmichaud | and to get back to kid51's original point, I think "performance regression" can be treated the same way, if it's serious enough | ||
| cotto | In general, I feel like the urgency of problems has been effectively communicated. | 22:45 | |
| kid51 | It seems that there are two classes of problems which these relationship managers need to be able tohandle ... | 22:46 | |
| 1. This change in Parrot broke the HLL | |||
| pmichaud | (and yes, I will be sure to pass the word along to the Rakudo devs) | ||
| kid51 | 2. We've been observing a deterioration in our performance that may be due to Parrot | ||
| pmichaud | to me they're roughly the same class of problem | 22:47 | |
| because at least for Rakudo today, a significant deterioration of performance is a form of breakage (i.e., our customers lose faith in our product) | 22:48 | ||
| a long term trend of reduction in performance will show up in the rakbench stuff I'm producing | |||
| I intend to comparatively benchmark every monthly release | |||
| for now, 2011.01 is our "baseline" | |||
| for one, it's the fastest that we have yet | 22:49 | ||
| as we get to later in 2011, I may update the baseline to be 2011.04 - a la a sliding window | |||
| anyway, monthly releases then become our official benchmarks showing performance changes over time | |||
| bacek | pmichaud, can you start benchmarking few days _before_ release? Otherwise we can't fix performance regressions in release. | 22:50 | |
| pmichaud | bacek: sure, can do that also | 22:51 | |
| bacek | pmichaud, thanks! | ||
| pmichaud | you already see that to some extent with rakudo-master and rakudo-bleed | ||
| rakudo continues to be heavily focused on "how do we make things faster", so the rakbench reports are becoming almost daily tools | |||
| bacek | pmichaud, I have to revert some of GC improvements commits. They broke win32 somehow :( | ||
| pmichaud | bacek: understood | ||
| bacek | pmichaud, rakudo-really-bleed should get some performance back :) | 22:53 | |
| pmichaud | rakudo-master is rakudo head with its preferred version of parrot master. rakudo-bleed is rakudo head with parrot head | ||
| cotto | It sounds like this is more or less resolved. | ||
| pmichaud | +1 | ||
| kid51 | In order to move this discussion, can we formulate this as a PDS policy decision: 'The Parrot project will collaborate with HLLs to develop ways of benchmarking the performance of the HLLs as targeted to monthly Parrot releases." | 22:54 | |
| pmichaud | kid51: definitely works for me | ||
| cotto | kid51, that should only apply to hlls that can deal with the potential for breakage that happens during the release cycle | 22:55 | |
| pmichaud | rakbench may be very easy to adapt to other HLLs, fwiw | ||
| it's basically a glorified "run these releases on these scripts and capture the output of /usr/bin/time" thingy :) | |||
| cotto | (Rakudo, of course, does) | ||
| pmichaud | I'd say the policy applies to whatever HLLs want to participate at that level | 22:56 | |
| at least, until it becomes burdensome for parrot, at which point we update the policy | |||
| cotto | yes | ||
| we'll react as needed | |||
| kid51 | How about this? "The Parrot project will collaborate with HLLs to develop ways of benchmarking the performance of the HLLs as targeted to monthly Parrot releases and the expressed needs of those HLLs." | 22:57 | |
| pmichaud | also +1 from me | ||
| kid51 | So I have two questions at this point: | ||
| cotto | kid51, +1 to that statement | 22:58 | |
| kid51 | Should Parrot form a team specifically for this? And what resources can we throw at profiling? | ||
| cotto | It sounds like whiteknight and I will be on profiling | ||
| pmichaud | if we can just get the existing profiler to somehow be more reliable (or understand when/how its "odd numbers" are being produced), then that can be sufficient. | 22:59 | |
| it may be that kcachegrind/valgrind simply can't handle CPS-style profiling | |||
| cotto | It's not entirely clear how many layers of yaks lie that way. | ||
| pmichaud | agreed. | ||
| fwiw, I'm fine with that being a 3.9 or even 4.0 goal | 23:00 | ||
| cotto | We'll be finding out. | ||
| pmichaud | the quick-and-dirty one I put together last night ought to be enough to get us through the next few months | ||
| cotto | pmichaud, is it accessible somewhere? | ||
| pmichaud | cotto: it's dreadfully simple | ||
| I added an opcode that when run outputs the identity of the current sub and its caller to a logfile | |||
| then I configured Rakudo to add that opcode near the beginning of every sub | 23:01 | ||
| so, we get call counts | |||
| cotto | ok | ||
| pmichaud | we don't get any idea of how long each sub takes, but we have other ways of measuring that if we need to | ||
| anyway, the code is in src/core/perl6.ops, the log analysis is in tools/sublog-report.pl | 23:02 | ||
| look for x_enter_sublog opcode | |||
| cotto | thanks | ||
| kid51, what's your other question? | 23:03 | ||
| kid51 | Well, it's time to get concrete re Roadmap Goals and Teams | ||
| pmichaud | I've been thinking of changing that to simply x_sublog and x_sublog_i opcodes (the _i would allow an integer marker to distinguish different types of events to be logged) | ||
| kid51 | Given that we have only 9 weeks to 3.6 ... | ||
| ... I'd be happy if we limited Roadmap Goals to 1 or 2, each with at least 2 members. | 23:04 | ||
| bacek voting for profiling | |||
| kid51 | And of all the things discussed here, profiling looks like the one where we have to collectively push ourselves to get something done | ||
| cotto | I agree. | 23:05 | |
| bacek | I'll try couple of ideas to speedup GC and PCC a bit. | ||
| kid51 | We can "continue at same pace" for GC, deprecations as data, M0 | ||
| pmichaud | +1 to all of above | ||
| kid51 | It's mostly a question of focus. | ||
| pmichaud | those sound like sufficient and achievable goals to me | ||
| kid51 | Who knows what profiling tools we currently have? (I don't.) | 23:06 | |
| What improvements can we make in them by mid-July? What by mid-October? | |||
| Who knows how to do that? | |||
| bacek | But don't expect much from algorithmic improvements of GC. It's limited by design of PMC. | ||
| cotto | Yup. No copying/compacting for us for now. | 23:07 | |
| kid51 | Or, more concretely, ... | ||
| cotto | but there are other wins | ||
| kid51 | whiteknight and cotto: If you are going to focus on profiling, what can the 2 of you accomplish by each of those dates? | ||
| (and, what doesn't get done if you shift your focus in that direction?) | |||
| pmichaud | (I have suggestion if needed) | 23:08 | |
| cotto | I'll be continuing M0 work, which requires more thinking than coding. I don't think I'll be giving up a lot else in this case. | ||
| kid51 | whiteknight? | 23:09 | |
| cotto | pmichaud, ? | ||
| pmichaud | by 3.6, have looked a bit at the existing profiling runcore and decided if it+kcachegrind will work out | ||
| or if parrot needs a much larger approach | |||
| s/much larger/different/ | |||
| (doesn't have to be larger) | |||
| cotto | Its original intent was to work with kcachegrind, and to a limited extent it does. | 23:10 | |
| pmichaud | right | ||
| it's very close to working out, if only we can find out why it gives nonsensical results in some areas | |||
| cotto | It also has tests, so there's the potential to add test cases for bugs that are dug up. | ||
| yes | 23:11 | ||
| pmichaud | if we simply knew the bounds of the existing profiler, that's a good achievement | ||
| cotto | The most valuable thing for it is tests that don't profile correctly. | ||
| pmichaud | I gave one in my january pds email :) | ||
| cotto | great | 23:12 | |
| pmichaud | I think I was profiling the opsc compiler | ||
| (so it's even parrot-specific :-) | |||
| anyway, if a larger goal is wanted, then have something that is "usable" (doesn't have to be perfect) by 3.9 | 23:13 | ||
| cotto | Can you tighten "usable"? | ||
| kid51 | How about this for a statement? | ||
| pmichaud | or, I should say, more usable than kcachegrind+profiling runcore | ||
| kid51 | Parrot project will establish a team to pursue goal of better profiling. By 3.6 we will have studied our existing profiling tools, determined their strengths and limitations and developed a plan for significant improvements in later supported releases. | ||
| pmichaud | mainly what Rakudo would want is to know the callgraph and time spent in each sub | ||
| "time spent" can be instruction counts, though, instead of wall counts | 23:14 | ||
| *wall-clock | |||
| kid51: that statement works for me | |||
| cotto | alright | ||
| pmichaud | (but since I'm not on the team, whether it works for me is not completely relevant :) | ||
| (the team for that goal, that is) | 23:15 | ||
| kid51 | How does this work as a statement of our resolutions coming from this Summit? | 23:17 | |
| nopaste.snit.ch/45564 | |||
| mikehh | pmichaud: I think we can say that you have contributed a lot to parrot | ||
| bacek is have to go. Will backlog. | |||
| pmichaud | mikehh: I have no doubt about that :) | ||
| mikehh | and anything you have to say is completely relevant | 23:18 | |
| pmichaud | mikehh: I simply meant that since I'm not the one that will have to do the work, whether I agree with the task should be reduced accordingly | ||
| i.e., the ones who commit to doing the work should get a stronger vote than those who sit on the sidelines and say "yeah! go!" | |||
| cotto | kid51, thanks | 23:19 | |
| pmichaud | kid51: those look great to me. I plan to elaborate on the last item in a message to perl6-compiler (which can be cross-posted to parrot-dev if that turns out to be appropriate) | ||
| actually, I'll write the message with the intention that it be cross-posted. It would help if at some point a parrot person can confirm or present the parrot view of things. | 23:20 | ||
| Or, I'll draft an elaboration, and consult with the parrot reps to make it into a joint statement of our intent | |||
| kid51 | Good. | ||
|
23:21
benabik joined
|
|||
| pmichaud | I should be able to draft something tomorrow-ish | 23:21 | |
| (might be monday depending on events around the house) | |||
| kid51 | Of the 3 policy items, two are more modifications of the way we do things. | ||
| But the profiling focus is new. It ought to be a Roadmap Goal and have a designated team. | |||
| cotto: Are you willing to be on a profiling team? | 23:22 | ||
| pmichaud | actually, benchmarking is relatively new as well | ||
| cotto | kid51, sure | ||
| pmichaud | we didn't start doing that until about 10 days ago, at least not in any formalized sense | ||
| kid51 | pmichaud: It's new as a practice, but probably doesn't require much new Parrot code. | ||
| profiling probably needs new parrot code. | |||
| pmichaud | kid51: Parrot code, perhaps not, but infrastructure, a little. | ||
| parrot is more than just its code. (perhaps goals reflect only Parrot code, though) | 23:23 | ||
| kid51 | Yes, infrastructure. Which gives me an incentive to get better machines. | ||
| pmichaud | anyway, I'm planning to continue building the benchmarking infrastructure; that can be listed as a goal or whatever from PDS as you deem appropriate | ||
| kid51 | Who wants to work with cotto on improving Parrot's profiling? | ||
| cotto | kid51, whiteknight already indicated that he would | 23:24 | |
| kid51 | Anyone else? This could use a 3rd. | ||
| kid51 thinks whiteknight is afk | |||
| cotto | seems like it | ||
| kid51 | we have lots of people on channel who have not spoken up | 23:25 | |
| Now's the time! | |||
| mikehh | I acn always help with testing things and that sort of stuff | ||
| can | |||
| kid51 | Any reflections from GSOCers on this summit? | ||
| mikehh: Me too. Incentive to get better machines. | 23:26 | ||
| pmichaud | I might suggest that anyone reading this log post-summit should feel free to comment about the summit in channel? | ||
| i.e., just add your comments even after the summit is "complete"? It'll be logged on the parrotsketch log (and someone will undoubtedly see it) | |||
| mikehh | there is always the prospect of testing on remote machines | ||
| kid51 | pmichaud: agreed | 23:27 | |
| My impression is that, after 2.5 hours, we've touched on major issues and people's attention is going elsewhere. | 23:28 | ||
| We actually touched on Agenda Item IV.A. without directly doing so: functioning of parrot project. | 23:29 | ||
| soh_cah_toa | i'm still listening. though most was out of my league :) | ||
| kid51 | We can defer GSOC discussion until weekly parrotsketch. | ||
| cotto | +! | ||
| +1 | |||
| kid51 | I move we adjourn. | ||
| pmichaud | wfm | 23:30 | |
| cotto | Any last issues? | ||
| pmichaud | cotto: would you have a moment to discuss the 't' issue in #parrot before we depart? | ||
| cotto | pmichaud, sure | ||
| pmichaud | thanks | ||
|
23:31
contingencyplan joined
|
|||
| pmichaud | also, thanks to kid51 and others for organizing and participating in the summit. I feel we accomplished a lot today. | 23:31 | |
| cotto | yes, thanks | ||
| kid51++ | |||
| kid51 | Thanks. | ||
| soh_cah_toa | yes, very organized and professional | ||
| kid51 | Okay, that's a wrap. Other than logging post-summit impressions, take discussions to #parrot or off-channel. | ||
|
23:32
kid51 left
23:33
bubaflub left,
soh_cah_toa left
23:41
contingencyplan left
23:49
benabik left
|
|||