Perl 6 - the future is here, just unevenly distributed

IRC log for #parrotsketch, 2014-07-15

| Channels | #parrotsketch index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
08:16 basiliscos joined #parrotsketch
10:19 Tene joined #parrotsketch
16:11 rurban1 joined #parrotsketch
16:42 Chirag joined #parrotsketch
19:36 Util # Doing:
19:36 Util * Parrot release today.
19:36 Util * smolder.parrot.org (still not fixed)
19:36 Util .end
19:36 Util Hello! Who all is in attendance?
19:39 Chirag Me
19:40 Util Hi, Chirag!
19:40 Chirag Hey! report in a min :)
19:41 Util OK
19:45 Chirag Report-
19:45 Chirag #Done:
19:45 Chirag * Completed running bench.sh on all commits for the version range 2.7-2.8. We now have all the benchmark data for 2.7-3.0 but no strong candidate for the commit that might have slowed down Parrot.
19:45 Chirag * Tried optimizing src/call/pcc.c by inlining VTABLE calls in Parrot_pcc_add_invocant.
19:45 Chirag Also, inlining Parrot_pcc_add_invocant in Parrot_pcc_invoke_method_from_c_args.
19:45 Chirag However, no performance improvement.
19:46 Chirag #Doing:
19:46 Chirag * Discussing new task with rurban - Removing the overhead of "boxing signature values as PMCs" when they can be directly used with their own types. (Parrot <0.9)
19:46 Chirag #Todo:
19:46 Chirag * Start new task
19:46 Chirag * GSoC Weekly Report
19:46 rurban1 * helping with benchmarks and the new GSOC task
19:47 rurban1 * looking at older tickets for the upcoming release
19:47 rurban1 * rakudo parrot still unstable in this release cycle, but a nqp/rakudo issue
19:48 rurban1 * cannot really use perl6 now for benchmarks
19:48 Util Welcome, rurban1
19:49 rurban1 yeah, and looking how to avoid the pcc autoboxing overhead. at least we could inline some CallContext field accessors
19:49 rurban1 but nothing close to whiteknights reported 200% + 200% slowdowns. more like 0.2%
19:50 Util Timeframe for a fix for "rakudo parrot"? And do you know who is working on it?
19:50 rurban1 they are working on it, getting better
19:50 rurban1 froggs, jnthn, lizmat
19:51 Util OK, thanks
19:52 rurban1 esp. froggs
19:53 rurban1 I will look into the opengl mavericks problem for the upcoming release
19:53 Util whiteknight (in his post) mentioned info from dukeleto. Perhaps a note to dukeleto or even whiteknight might help pinpoint the commit? Just a thought.
19:55 rurban1 it was a complete refactoring. in fact multiple refactorings, some good, some bad
19:55 Util Also, the 200+200 was figured *before* the rewrite of " the naive CallSignature implementation into a much more efficient form"
19:55 rurban1 yes, I figured
19:55 rurban1 now we are pretty good with compiled methods and vtables, just run-time methods and overloaded methods are slow
19:56 rurban1 ext overloaded, => ext_call running it's own runloop with new interp
19:56 rurban1 esp. overloaded
19:57 rurban1 this might be the next big goal, allowing those methods to run in the same loop
19:57 rurban1 and get rid of autoboxing, at least for the invocant
19:58 rurban1 and up to max_args which could be hold in the callcontext registers
19:59 rurban1 held
20:00 rurban1 oops, today is release day, right?
20:00 Util Without Smolder, there is less confidence in a release.
20:00 Util Can either of you think of any reason this release might be less stable that the last? Any reason to delay the release?
20:00 rurban1 no chance for opengl then. but not repro for my mavericks system anyway
20:01 rurban1 nope, my smokers ran good. all ok
20:01 rurban1 very stable
20:01 Util Great!
20:02 rurban1 http://perl514.cpanel.net/build/builders but not uptodate
20:02 Util Official: "please hold all commits to the master branch, until I give the all clear notice"
20:03 rurban1 sure :)
20:03 rurban1 and smolder only fails for linux systems, the other reports ran through
20:04 rurban1 This is a supported one, right?
20:04 Util Chirag: to clarify, "boxing signature..." is the GSoC task that you are about to start?
20:04 Chirag yes
20:04 Util OK, thanks
20:04 Chirag I will include it in my report
20:04 rurban1 we are looking into some low hanging fruits in the PCC. boxing might be too much.
20:05 rurban1 but we will see, there are several other minor tasks to look at
20:06 Chirag Maybe we can officially document the task like before.. whenever it is convenient, rurban..
20:06 rurban1 caching string=>sig objects e.g. for run-time methods
20:06 rurban1 all is documented in the enligthened perl wiki
20:06 Util +1 # Documenting
20:06 Chirag I meant like GH#issue
20:07 rurban1 sure, after the evaluation
20:07 rurban1 we are not sure yet, what task is the best to go forward, and what will not work
20:08 Chirag hmm...
20:09 rurban1 fighting the API restrictions e.g. exporting some callcontext methods to use them internally
20:09 rurban1 avoid the vtable indirect call overhead, and such. but there are several such ideas
20:10 Chirag we tried with add_invocant
20:11 rurban1 at least we are not creating useless PMC's per compiled method calls anymore, which was the biggest complaint
20:11 rurban1 add_invocant adds self to the fron of the args array. there should be something better in the PCC (and there was with Sugalski's design)
20:13 rurban1 so in summary we have several options, but it is not clear yet, which we take
20:13 rurban1 and it will be not much gain, I fear
20:13 rurban1 <1% or so
20:14 Chirag even the autoboxing overhead?
20:14 rurban1 but at least I finished B::C testing, so I can use my machines for proper parrot profiling. Chirag's machine is now also ready for profiling. he got a slow one, so the differences might be better
20:15 rurban1 autoboxing overhead will be ~5% I guess, but it will be harder to undo it
20:17 rurban1 maybe we can spare the first 4-6 args from autoboxing and hold it in the registers. we'll see, but then the pcc will get more complicated
20:17 Util GSoC standards are to have a complete roadmap, with inchstones (micro-milestones) *before* the first day of coding.
20:17 Util If we have opted for some flexibility instead of rigid adherence to that standard, we will still be held to it in the end.
20:17 Util Rather than a vague "discuss" item-of-work, try something like:
20:17 Util "Profile and evaluate add_invocant, autoboxing, <foo>, <bar>, <baz>, and determine highest overhead; to be used as target for next refactor"
20:18 Util .end
20:20 Chirag Oh thanks! I will follow that..
20:20 Util Chirag: rurban1 sounds correct at the technical level, that the next task is worth consideration;
20:21 Util I just want to be sure that your hard work does not get documented in a way that sounds like dithering, instead of actual work.
20:22 Chirag yes, I understand.. 'Testing' alone might seem like it
20:22 rurban1 currently it's more guessing and dithering. I cannot really trust the profiling and benchmarks
20:22 rurban1 too much noise currently
20:23 rurban1 maybe switching to a stable rakudo subset of tests to benchmark will be better
20:23 rurban1 but this will lead to drastically longer build times
20:26 Util Even at the risk of choosing wrong,
20:26 Util I encourage you both to take no more than this *one* week to explore,
20:26 Util and then nail down the remaining items-of-work *in* *detail*.
20:26 rurban1 Sure. We'll start documenting the ideas it in the wiki
20:26 rurban1 several are already there
20:26 Util Past the mid-terms, the risk is high of mis-timing the workload, and running past the "pencils down" deadline.
20:27 Chirag +1
20:27 rurban1 http://wiki.enlightenedperl.org/gsoc2014/ideas/improve_performance_of_method_signatures.edit
20:27 Util Any blockers right now?
20:27 rurban1 nope: http://wiki.enlightenedperl.org/gsoc2014/ideas/improve_performance_of_method_signatures
20:27 Chirag no other blockers
20:27 rurban1 other than the ongoing nqp/perl6 work, none
20:28 Util Anything else to discuss? From anyone?
20:30 Util OK. Thanks everyone!
20:30 Util Meeting adjourned.
22:44 lizmat joined #parrotsketch
23:00 basiliscos joined #parrotsketch

| Channels | #parrotsketch index | Today | | Search | Google Search | Plain-Text | summary