|
Parrot 6.1.0 "Black-collared Lovebird" | parrot.org/ | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 18 February 2014. |
|||
|
00:31
rurban1 joined
00:32
benabik joined
00:36
rurban2 joined
|
|||
| kid51 | Parrot still builds on darwin/ppc! | 00:46 | |
| smolder.parrot.org/app/projects/rep...ails/44341 | |||
| rurban: Smolder may be getting some attention at the Perl QA Hackathon this weekend | 01:43 | ||
| act.yapc.eu/qa2014/wiki?node=Projects | |||
| You might want to email the relevant people a note about the problems you've been seeing | 01:44 | ||
|
02:05
rurban1 joined
02:10
kid51_ joined
02:12
FROGGS_ joined
02:51
Chirag joined
03:06
rurban1 joined
04:08
rurban1 joined
05:09
rurban1 joined
05:10
rurban2 joined
05:43
drift joined
06:32
vincent22 joined
07:08
rurban1 joined
08:09
rurban1 joined
08:13
FROGGS joined
08:18
denis_boyun joined
08:53
User_ joined
09:10
rurban1 joined
09:22
TonyC joined
10:11
rurban1 joined
10:33
kid51 joined
11:09
denis_boyun joined
11:12
rurban1 joined
12:13
rurban1 joined
12:17
Chirag joined
12:31
woolfy joined
13:15
rurban1 joined
13:19
Chirag_ joined
14:08
benabik joined
14:13
bluescreen joined
14:16
rurban1 joined
15:16
rurban1 joined
15:25
bluescreen_ joined
|
|||
| dalek | rrot/rurban/t-nci-sig: 7f91210 | rurban++ | / (3 files): t nci sig: bring back nci cstring support WIP. needed in most external code. |
16:11 | |
| rrot/rurban/t-nci-sig: 76282bb | rurban++ | / (3 files): t nci sig: bring back nci cstring support WIP. needed in most external code. |
|||
| rrot/rurban/SDL: caffe58 | rurban++ | runtime/parrot/library/SDL (3 files): [examples] SDL: fix concat and replace t with p sig really need to revert 0a8cc07d1cc5e remove support for deprecated "t" nci signatures |
16:20 | ||
| rrot/rurban/SDL: d36f8e0 | rurban++ | runtime/parrot/library/SDL.pir: [examples] SDL: more libSDL_ttf-2.0 choices to search for |
|||
|
16:29
rurban1 joined
|
|||
| dalek | rrot/rurban/t-nci-sig: caffe58 | rurban++ | runtime/parrot/library/SDL (3 files): [examples] SDL: fix concat and replace t with p sig really need to revert 0a8cc07d1cc5e remove support for deprecated "t" nci signatures |
16:50 | |
| rrot/rurban/t-nci-sig: 466ba2d | rurban++ | runtime/parrot/library/SDL (3 files): Merge branch 'rurban/SDL' into rurban/t-nci-sig |
|||
| rrot/rurban/t-nci-sig: 04a82d2 | rurban++ | runtime/parrot/library/SDL.pir: SDL: fix example to use t sig again |
|||
| rrot/rurban/t-nci-sig: e803cd9 | rurban++ | runtime/parrot/library/SDL.pir: SDL: more libSDL_ttf-2.0 choices to search for |
|||
|
17:06
Chirag joined,
Chirag_ joined
17:07
rurban1 joined
|
|||
| dalek | rrot/rurban/SDL: d01289b | rurban++ | runtime/parrot/library/SDL.pir: [examples] SDL: print SDLLIBPATH= only on failure |
17:13 | |
| rrot/rurban/t-nci-sig: 04bc9a9 | rurban++ | runtime/parrot/library/SDL.pir: [examples] SDL: print SDLLIBPATH= only on failure |
|||
|
17:25
rurban1 joined
17:28
rurban2 joined
17:33
Chirag joined
17:47
denis_boyun joined
17:49
FROGGS joined
18:22
TonyC_ joined
18:47
rurban1 joined
|
|||
| Chirag | Hey! For the GSoC idea for Parrot "Improve performance of method signatures" .. I have been debugging Parrot 6.0.0 ... I wanted to compare it with the release that didnt make CallContext a pmc .. Can someone please suggest which release I should look into? | 18:49 | |
| rurban? | 18:50 | ||
|
19:01
TonyC joined
|
|||
| rurban | yes | 19:13 | |
| wait a sec. I guess 2.0.0 | |||
| Chirag | I am actually looking into 2.0.0 | 19:14 | |
| rurban | The problem started with the pcc_hackathon_6Mar10 | 19:15 | |
| Chirag | ok.. | ||
| rurban | yes, 363ca41fa8984c6c6859cdb6a7f3adfd seems to be it | 19:16 | |
| Chirag | ? | ||
| hash for? | 19:17 | ||
| rurban | git show sha | ||
| gitk is also nice. enter the sha into the SHA1 ID: field | 19:18 | ||
| Chirag | ok .. let me try | 19:19 | |
| rurban | This hackathon also removed tailcall support as far as I see it | 19:20 | |
|
19:21
Chirag_ joined
|
|||
| rurban | Did you also see lists.parrot.org/pipermail/parrot-d...07354.html ? | 19:22 | |
| Chirag_ | Yes | ||
| Chirag | I actually posted a couple of questions on the google group as well | 19:23 | |
| rurban | You also need to register formally at the GSOC. I think the period started Monday | 19:25 | |
| Chirag_ | Yes .. I was wondering how to go about for writing he proposal | 19:26 | |
|
19:27
Chirag joined
|
|||
| Chirag | The three main objectives are the ones that you have mentioned on the wiki .. My proposal must include those and also my approach for the same right? | 19:29 | |
| rurban | No. The objective is just to improve performance of PCC (method calls) | 19:30 | |
| I only gave some ideas how to do it. | |||
| There is the sig objects handling overhead (non-cached) | 19:31 | ||
|
19:31
Util joined
|
|||
| rurban | The ResizableIntegerArray overhead (realloc when adding a arg) | 19:31 | |
| and the unoptimized pmc2c compiler | 19:32 | ||
| If you have better ideas, alrighty :) | |||
| Chirag | hmm... I was under an impression that these are independent problems and each of them have to be tackled | 19:33 | |
| Util | #ps time. We can make it quick, to return you to your current conversation. | 19:34 | |
| Chirag | oh.. I ll wait :) | ||
| rurban | you don't have to tackle all of time, no | 19:40 | |
|
19:48
vincent22 joined,
rurban1 joined
|
|||
| rurban | pcc is short for parrot calling convention | 19:49 | |
| Chirag | hmm.. | ||
| so.. how does a case with slurpy args look like? | 19:50 | ||
| rurban | perl6 already worked around most of the pmc2c issues. their remaining problem is one unnecessary pmc creation for each sub call | ||
| slurpy args can be slow imho. they are not so common | 19:51 | ||
| Chirag | I debugged using a small test case in perl | ||
| new $P0, ['Integer'] | |||
| rurban | similar for named args. we need to optimize for the common case | ||
| I just saw | |||
| I'll answer soon | 19:52 | ||
| Chirag | there were lots of pmcs being returned | ||
| i was hoping for just one | |||
| rurban | new creates a new one, the probkl,em is when calling a method in this object | ||
| Chirag | which method? | 19:53 | |
| rurban | any. get_integer e.g. | ||
| Chirag | hmm.. | ||
| rurban | I'll give a good example | ||
| Chirag | but that is an implicit call .. not part of the user's code | ||
| rurban | t/pmc/pmc_2.pir is better e.g. | 19:55 | |
| or t/pmc/sub_1.pasm because it involves invokecc | 20:01 | ||
| Parrot_pcc_set_lex_pad is i.e. not always needed. one of the points in lists.parrot.org/pipermail/parrot-d...07354.html | 20:03 | ||
| 456\t if (!PMC_IS_NULL(sub->lex_info)) { | 20:04 | ||
| 457\t Parrot_pcc_set_lex_pad(INTERP, context, Parrot_pmc_new_init(INTERP, | |||
| 458\t Parrot_hll_get_ctx_HLL_type(INTERP, enum_class_LexPad), | |||
| 459\t sub->lex_info)); | |||
| 460\t VTABLE_set_pointer(INTERP, Parrot_pcc_get_lex_pad(INTERP, context), context); | |||
| 461\t } | |||
| the compiler should store the need for a lexpad as a sub flag. this is probably too complicated | 20:05 | ||
| Better leave that to me | |||
| Chirag | hmm.. i can try | ||
| or maybe just the first one for now | 20:06 | ||
| rurban | But basically, do as much as possible in the compiler to speed up run-time. | ||
| I would start with the pcc hackathon deoptimizations | 20:07 | ||
| Chirag | 1 quick question .. am I using gdb right (not very good with it) .. i do gdb parrot .. run ... set br Parrot_pcc_build_call_from_varargs ... run the test case | ||
| rurban | yes | ||
| Chirag | nice | 20:08 | |
| rurban | you can write that into a .gdbinit file. much easier to work with | ||
| set breakpoint pending on | |||
| start | |||
| b ... | |||
| Chirag | ok .. i ll try that | 20:09 | |
| rurban | and also use ./parrot --help-debug flags | ||
| I use -d1000 to see the internally generated pasm code, the arguments for each opcode | |||
| but for this you need to use a recent master | 20:10 | ||
| -t trace works fine with older parrots | |||
| but -d not | |||
| -D is also for run-time flags | |||
| -d is for the compiler only | |||
| Chirag | Frankly I have never used any of this... | 20:11 | |
| rurban | me neither | ||
| Chirag | :D | ||
| rurban | I just enabled it again. it was butchered some time ago | 20:12 | |
| Chirag | do I always have to convert the test case .pasm to .pl, otherwise it throws an error | ||
| rurban | nope | ||
| pl is perl. pasm is the flattened version of pir | |||
| to create the pasm or pir testcases from a pl or t you need to run it through perl. | 20:13 | ||
| like perl t/pmc/sub.t | |||
| Chirag | yeah.. its parrot asm | ||
| rurban | and then yoiu can run parrot on the single tests. like ./parrot -d1000 -v -t /pmc/sub_68.pir | 20:14 | |
| Chirag | hmm.. | 20:15 | |
| rurban | pir is a more readable and simplified version of pasm | ||
| imcc, the compiler, creates pasm opcodes from pir input | 20:16 | ||
| Chirag | i got it now.. | ||
| rurban | With -t, the tracer, you follow the execution of the pasm opcodes | 20:17 | |
| and with -D you can set more run-time debugging flags | |||
| the interesting (or bad) bits happen only in gdb | 20:18 | ||
| the pasm must not change | 20:19 | ||
| We pass around a CallContext arg on each call, because we use continuation passing style, as in scheme | 20:20 | ||
| Chirag | so thats why multiple returns | 20:21 | |
| rurban | Then we have an extra return continuation, which was once part of the callcontext. 16% slower now | ||
| Chirag | so do we try not to have callcontext as a pmc? | 20:23 | |
| but that would require changing a lot of things | |||
| rurban | that's probably too much | ||
| Chirag | hmm i figured | ||
| rurban | it's more the overhead of fresh creation | ||
| but I'm not sure | 20:24 | ||
| callgrind should help to find the bottlenecks | 20:25 | ||
| do you know such profiler tools? | |||
| Instruments on the mac | |||
| Chirag | no, i dont | ||
| should i look into it? | |||
| rurban | e.g. valgrind --tool=callgrind ./parrot t/pmc/sub_68.pir | 20:26 | |
| and then run cachegrind on the resulting file | 20:27 | ||
| Chirag | thats what the thread said .. profiling helped in the analysis | 20:28 | |
| rurban | I blogged a how to: blogs.perl.org/users/rurban/2013/04...ports.html | 20:29 | |
| Thats how to install the KDE part, but the other qt part is much easier. should be on ubuntu | 20:30 | ||
| and how to use it: blogs.perl.org/users/rurban/2013/04...otion.html | |||
| ubunto, right? | |||
| Chirag | yes | ||
| i just installed valgrind | 20:31 | ||
| rurban | ubunto has only kcachegrind | ||
| you can try that, if it works. | |||
| But I compiled my own qcachegrind | |||
| Chirag | ok.. i ll try | 20:32 | |
| rurban | I never tried valkyrie | 20:34 | |
| apt-cache search cachegrind | |||
| Chirag | i ll check it out | 20:35 | |
| rurban | and if you have a lot of space and time, eclipse-cdt-valgrind should also be quite good | ||
| but this is really huge. | |||
| Chirag | i have eclipse | ||
| i think i can try installing this add one | 20:36 | ||
| rurban | with graphical UIs profiling is usually much easier | ||
| Chirag | on* | ||
| rurban | yes, looks good: www.eclipse.org/linuxtools/projectP.../valgrind/ | 20:37 | |
| Chirag | i installed valkyrie just now | ||
| rurban | valkyrie seems to be useless | ||
| no cachegrind support | |||
| Chirag | o | 20:38 | |
| i ll have to install cdt plugin .. its there on my windows not on ubuntu | |||
| will take a while.. | 20:39 | ||
| rurban | on windows msvc shoulds also have good UIs for profiling | ||
| Chirag | coding on windows will be tedious .. i ll stick with ubuntu | 20:40 | |
| rurban | :) | ||
| most perl6 devs work on windows. very good environment | 20:41 | ||
| Chirag | i have mingw on windows | 20:42 | |
| for c | |||
| i ll have to install something for perl | |||
| i ll do that | 20:43 | ||
| u like windows? | |||
| should I just go ahead and submit a proposal? | 20:46 | ||
| I can write about my understanding of what needs to be done and give your wiki's link as "additional info URL" | 20:47 | ||
| ? | |||
| rurban | I don't like windows that much. Too cumbersome to setup a good environment | 20:49 | |
|
20:49
rurban1 joined
|
|||
| rurban | I would include most parts of my info into your proposal. if yiou agree with it. | 20:50 | |
| Chirag | yes all that I have understood | ||
| rurban | And we need to agree on mid-term and end-term goals. Do define success and failure | ||
| Chirag | a timeline? | 20:51 | |
| rurban | success would be defined as mergable branch | ||
| And we shouldn't merge a branch which makes it worse. In reality we did it very often before | 20:52 | ||
| Chirag | hmm.. | ||
| rurban | I'm not a big fan of a strict timeline, but it makes it easier. Proper reporting of work in progress would be more important. to get faster feedback, when you hit a blocker | ||
| so our students get an parrot.org account and do blogging there | 20:53 | ||
| benabik | I always liked to write weekly or bi-weekly goals, but also include a week or two of slack. | ||
| Chirag | I agree | 20:54 | |
| rurban | the blogging platform per se is not important. something with syntax highlighting or proper code formatting helps | ||
| It's important to get more than one eye on the ideas and code | 20:55 | ||
| Chirag | can the proposal be modified after I have submitted? | ||
| rurban | I usually write down everything in a formal github issue ticket, with a branch | ||
| the proposal not, but the deliverables yes | 20:56 | ||
| if you got better ideas during analysis | |||
| we did the pcc hackathon to improve the situation not to make it worse. so it got better in some parts. e.g. we got down from 2 interim pmc's to one per call. so it's not a mere go back in time. it's more like a learning from the past | 20:58 | ||
| having a pmc for everything makes it nice for introspection. but if performance can be improved dramatically (and I think so) we can remove it. performance is our main problem | 21:01 | ||
| dalek | rrot/rurban/t-nci-sig: d45e523 | rurban++ | / (3 files): t nci sig: bring back nci cstring support WIP. needed in most external code. |
21:05 | |
| rrot/rurban/t-nci-sig: 7ff3dbc | rurban++ | runtime/parrot/library/SDL.pir: SDL: fix example to use t sig again |
|||
| rrot/rurban/t-nci-sig: 6ca95d9 | rurban++ | runtime/parrot/library/SDL.pir: SDL: more libSDL_ttf-2.0 choices to search for |
|||
| rrot/rurban/t-nci-sig: f4bae6c | rurban++ | runtime/parrot/library/SDL.pir: [examples] SDL: print SDLLIBPATH= only on failure |
|||
| rrot/rurban/t-nci-sig: 1fe7641 | rurban++ | / (4 files): nci: broke the nci tests added cstr converters, and also pshort/pint/plong for PMC access to integers (Integer). |
|||
| Chirag | The PCC Hackathon is the one in 2009? | 21:07 | |
| rurban | I see pcc_hackathon_6Mar10 in the commit, but it was probably in summer 2009 | 21:09 | |
| Chirag | ok | ||
| what do you think should be the mid goal and end goal? | 21:10 | ||
| rurban | lemme google it :) | 21:20 | |
| Chirag | ok | ||
| rurban | A good midterm goal would be "student is on track" | 21:22 | |
| Chirag | :) | ||
| I was thinking like - 16% faster | 21:23 | ||
| rurban | Not so fast. | ||
| Don't write down numbers | |||
| Chirag | hmm... that was just based on the thread | 21:24 | |
| rurban | mid-term is more about following guidelines, coding style, understood the problem and is able to perform the task in the end. | ||
| Chirag | oh.. | 21:25 | |
| rurban | I would also leave out numbers in the end-goal. >5% speedup sounds good, but that depends on the measurement. realistically we can also get only 2-3% percent speed up, but it coudl also be 10-20%. google likes to hear 150-200% speedup, I know. | 21:26 | |
| Chirag | oh... how does this work? google makes the call/ | 21:27 | |
| rurban | The main goal is to make you a good student and get mutual benefit | ||
| no, we make the call. all the mentors discuss it together, who should get the slot. | |||
| Chirag | ok.. | 21:28 | |
| rurban | and not only mentors, the whole community | ||
| Chirag | but google pays | ||
| rurban | likely we'll have 10 applicants and 5 slots. yours seem very likely to be in the upper half. but we don't know | ||
| Chirag | I get introduced to OpenSource coding and thats how the community benfits | 21:29 | |
| oh... | |||
| I wish I had holidays .. could have given more time | |||
| rurban | These were some previous arguments made for the ranking: * How well their coding task worked out (we split this into 3 pieces due to | 21:30 | |
| our coding task) | |||
| * How competent they appear | |||
| * How much they interact with the community during the application period. | |||
| There's a strong correlation between that and how successful the student | |||
| is during the project. Perhaps more so than how competent they appear. | |||
| * We also asked a very specific interesting question which could generate | |||
| amazingly useful answers - I'll come back to that. | |||
| * We then provided a value which mentors could just assign a number to | |||
| * Then there was just "how fun does it seem?" :-) | |||
| * How useful? | |||
| * Impression of overall effort on their application to date. (this does | |||
| indeed seem to correlate with effort during the program incidentally) | |||
| * We also ranked an apparent understanding of their own project proposal as | |||
| well as their understanding of the project as a whole. | |||
| * We then added it up, and ranked accordingly. | |||
| This was another organisation, but you get the idea | 21:31 | ||
| Chirag | yes | ||
| rurban | gsoc is during the summer holidays. you'll have free time in summer, do you? | ||
| Chirag | yes | ||
| plenty | |||
| rurban | :) | ||
| my last student had to work during summer, but still got it done. well 50% of it | 21:32 | ||
| Chirag | i was trying for a thesis which would start in aug ( if it comes through) | ||
| rurban | you could use it as a thesis topic if your prof is nice | 21:33 | |
| Chirag | I was going through your profile, u studied at TU Graz? | ||
| rurban | our threads student wrote a very nice thesis | ||
| I'm from Graz, yes | |||
| Chirag | wow! | ||
| rurban | Architecture and Mathematics. LISP mostly | ||
| Chirag | oh | 21:34 | |
| rurban | and now mainly compilers | ||
| Chirag | There is this DAVE system there which is super interesting | ||
| Virtual reality stuff | |||
| rurban | Oh, I worked in VR also | 21:35 | |
| back in the early 90ies, when it was fancy | |||
| Chirag | nice! | ||
| rurban | In Graz we had the best compgeom profs | ||
| Chirag | Do you happen to know Dr. Marcel by any chance .. He's at ETH Zurich now | 21:36 | |
| rurban | but no money for expensive equipment | ||
| Most of our profs went to fancy US or british universities later. | |||
| Chirag | oh.. | 21:37 | |
| rurban | just seidel (from the gauss-seidel elimination), aurenhammer, aichholzer, edelsbrunner, ... | 21:41 | |
| Chirag | oh | ||
| thats pretty amazing actually | 21:42 | ||
| rurban | yes, but too complicated for me. compilers are much easier than compgeom | 21:43 | |
| AI is also much easier | |||
| Chirag | I am taking a course in compilers right now | ||
| AI ..I attend for fun | 21:44 | ||
| rurban | one of our profs "solved" the hamilton path problem > 14, which is usually unsolvable | ||
| Chirag | wow! | 21:45 | |
| who? | |||
| rurban | This guy: en.wikipedia.org/wiki/Rainer_Burkard | 21:49 | |
|
21:50
rurban1 joined
|
|||
| Chirag | Its 3.20 am here... I have an 8 o clock class .. I should sleep :) | 21:51 | |
| rurban | Your application should not mention the goals strictly, more your background and what you seem to understand | ||
| ok, bye | |||
| Chirag | ok | ||
| thanks! | |||
| bye | 21:52 | ||
| wait my background as in my profile | |||
| ? | |||
|
22:51
rurban1 joined
23:06
Psyche^ joined
23:28
rurban1 joined
23:34
kid51 joined
23:37
denisboyun joined
23:41
kid51 joined
23:48
kid51 joined
23:49
benabik joined
|
|||