Camelia, the Perl 6 bug

IRC log for #parrot, 2008-08-15

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:52 dalek r30240 | jkeenan++ | opsrenum:
00:52 dalek : Add functionality to add -- but not delete -- opcodes in the post-1.0 Parrot.  Add additional tests.
00:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30240
00:52 Ademan joined #parrot
01:23 bacek morning everyone
01:25 Whiteknight good morning bacek
01:33 tetragon joined #parrot
01:38 bacek Whiteknight: how is GC stuff going?
01:46 Limbic_Region [19:56] <@Whiteknight> (Garbage collector)--
01:53 bacek Limbic_Region: so, there is already less garbage after -- ;)
02:06 kid51 All:  If you have any reason to object to application of patch in http://rt.perl.org/rt3/Tic​ket/Display.html?id=57780 (provide for multiple verbose steps during configuration, change Configure.pl's output somewhat) please comment in ticket in next day.  Thanks.
02:23 dalek r30241 | jkeenan++ | opsrenum:
02:23 dalek : Improve inline comments and POD.
02:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30241
02:33 kid51 Anyone know who's doing next week's release?
02:40 tetragon_ joined #parrot
03:13 dalek r30242 | jkeenan++ | trunk:
03:13 dalek : 4 config step tests were failing to clean up after themselves, leaving results of C probes in top-level directory.  3 cases fixed; one remaining.
03:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30242
03:15 baa joined #parrot
03:20 dalek r30243 | jkeenan++ | trunk:
03:20 dalek : 4 config step tests were failing to clean up after themselves, leaving results of C probes in top-level directory.  1 remaining cases fixed.
03:20 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30243
03:21 * kid51 must sleep
03:21 purl $kid51->sleep(8 * 3600);
03:47 petdance joined #parrot
05:25 buildbot joined #parrot
05:39 Psyche^ joined #parrot
05:41 purl joined #parrot
06:35 Zaba_ joined #parrot
06:38 ambs left #parrot
06:51 smash joined #parrot
07:36 Psyche^ joined #parrot
08:23 particle1 joined #parrot
08:35 Ademan joined #parrot
09:14 dalek allison@perl.org | hackathon_yapc_eu_2008:
09:14 dalek link: http://www.perlfoundation.org/parro​t/index.cgi?hackathon_yapc_eu_2008
09:15 dalek allison@perl.org | hackathon_yapc_eu_2008:
09:15 dalek link: http://www.perlfoundation.org/parro​t/index.cgi?hackathon_yapc_eu_2008
09:35 gaz joined #parrot
09:50 dalek r30244 | pmichaud++ | trunk:
09:50 dalek : [rakudo]:  Some additional notes on things in the ROADMAP
09:50 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30244
09:53 Whiteknight joined #parrot
10:30 mmcleric_ joined #parrot
10:36 szbalint joined #parrot
10:40 kid51 joined #parrot
10:40 kj joined #parrot
10:41 MeGaMiC joined #parrot
11:03 MeGaMiC joined #parrot
11:05 dalek r30245 | bernhard++ | trunk:
11:05 dalek : [Pipp]
11:05 dalek : Update the TODO list.
11:05 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30245
11:06 dalek r30246 | kjs++ | trunk:
11:06 dalek : [pirc/new] add documentation and generate full-signatured opnames from opnames + their arguments
11:06 dalek : + %union type cleanup
11:06 dalek : + several other tweaks.
11:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30246
11:09 dalek r30247 | bernhard++ | trunk:
11:09 dalek : [Pipp] add increment and decrement
11:09 dalek : Some reformating.
11:09 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30247
11:10 Whiteknight joined #parrot
11:12 ank joined #parrot
11:19 dalek allison@perl.org | pdd27mmd_tasklist:
11:19 dalek link: http://www.perlfoundation.org/pa​rrot/index.cgi?pdd27mmd_tasklist
11:29 dalek r30248 | jonathan++ | trunk:
11:29 dalek : [rakudo] Load types for parameters and use them to exclude candidates with incompatible types. Add some tests for this.
11:29 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30248
11:30 dalek r30249 | bernhard++ | trunk:
11:30 dalek : [Pipp] Add impl of extension_loaded(), that always returns false.
11:30 dalek : Add var_dump() for booleans.
11:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30249
12:11 dalek allison@perl.org | pdd27mmd_tasklist:
12:11 dalek link: http://www.perlfoundation.org/pa​rrot/index.cgi?pdd27mmd_tasklist
12:16 dalek r30250 | allison++ | trunk:
12:16 dalek : [pdd] Refine the interface for MultiSubs, providing lookups for dispatch
12:16 dalek : alternates without invocation.
12:16 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30250
13:32 particle joined #parrot
13:34 davidfetter joined #parrot
13:56 gryphon joined #parrot
14:05 dalek r30251 | fperrad++ | trunk:
14:05 dalek : [Lua] merge branch opengl4lua
14:05 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30251
14:12 dalek r30252 | kjs++ | trunk:
14:12 dalek : [pirc/new] line too long in pirsymbol.c; this is now fixed.
14:12 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30252
14:14 kj Coke: what kind of test is this 'smolder' test, and how do I run it?
14:14 NotFound kj: make smolder_test
14:15 kj NotFound: ok, thanks
14:15 kj why is it called 'smolder', what does that word mean?
14:16 NotFound kj: I think is the name of software used to analyse the reports.
14:17 kj i see. thanks
14:25 Limbic_Region joined #parrot
14:26 Coke joined #parrot
14:26 Limbic_Region chromatic ping
14:26 Coke kj: pong.
14:26 Coke purl, smolder?
14:26 purl smolder is http://sourceforge.net/projects/smolder or web-based smoke test aggregator used by developers and testers to upload (automated or manually) and view smoke/regression tests using the Test Anything Protocol (TAP).
14:26 kj Coke: NotFound already helped me. Sorry for your effort on test failures.
14:27 Coke I subscribe to the RSS feed, so when something like that starts failing, I get notified pretty quickly. =-)
14:27 Limbic_Region purl msg chromatic "Perl 6 Design Minutes for 25 June 2008" indicates "The Perl 6 design team met by phone on 11 June 2008." and yet Larry indicates he has already attended YAPC (which didn't happen until after June 11)
14:27 purl Message for chromatic stored.
14:28 Coke no worries. I figured if I posted a few of those more people would subscribe tot he feed, and I'd get a better long term response than just fixing them.
14:28 kj where can I subscribe? :-)
14:29 Coke http://smolder.plusthree.com/​app/public_projects/details/8, pick one of the feeds
14:31 NotFound I fixed the first failure yesterday, don't see the ticket until this morning.
14:38 jonathan pmichaud: I have booked a room in the same hotel as you for tomorrow night.
14:38 jonathan Late night hacakthon is on! :-)
14:43 Coke NotFound: saw that you closed it, thanks.
14:50 kj jonathan: ping
14:51 jonathan kj: pong
14:51 kj hi
14:51 kj istr you're knowledgable on the bytecode stuff, is that right?
14:51 jonathan Vaguely. :-)
14:52 kj :-)
14:52 jonathan (As in, I wrote the PDD...)
14:52 kj do you know what's the current status of it?
14:52 kj i mean, is the PDD implemented?
14:52 kj or is the current implementation to be revised
14:52 jonathan It's partially implemented.
14:52 kj ok
14:52 jonathan A little in trunk
14:52 jonathan And much more done by Infinoid++ in a branch
14:53 kj ah ok. so at some point that will be merged back
14:53 kj (and that would imply I should ask Infinoid on details?)
14:53 dalek r30253 | fperrad++ | opengl4lua:
14:53 dalek : [Lua] merged in trunk
14:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30253
14:53 jonathan Yes, what do you want to know?
14:53 jonathan I may have an answer. :-)
14:55 kj well, I don't have any particular question at this point; I have to investigate in it a bit more. But for PIRC, I'd like to generate a PBC file as opposed to PASM code, what it does now
14:55 kj but I have trouble visualizing how the PMC constant stuff works
14:56 kj for instance, Subs, labels, and keys too are represented by PMC constants
14:56 kj (according to pbc_disassemble)
14:59 jonathan Yes, subs are PMCs
14:59 jonathan Labels are just in the fixup table.
14:59 jonathan Keys - yes, PMCs too.
14:59 dalek r30254 | coke++ | no_builtin_methods:
14:59 dalek : This branch was recently merged to trunk.
14:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30254
14:59 kj but what makes up a sub?
15:00 kj i mean, i know a sub as in : .sub main blablabla .end
15:00 jonathan See Sub.pmc
15:00 jonathan Or Closure.pmc
15:00 jonathan (second subclasses first)
15:00 kj are constant pmcs frozen?
15:00 jonathan They say where in the bytecode the sub starts.
15:00 jonathan Yes.
15:00 kj mmm ok
15:01 kj and a label is just an address?
15:01 jonathan I *think* so.
15:01 kj I've been trying to understand how imcc does this, but it's very complex, it seems
15:01 kj not a line of comments :-(
15:01 jonathan Yes. :-(
16:02 sjansen joined #parrot
16:11 pmichaud jonathan++ # room for tomorrow
16:17 iblechbot joined #parrot
16:32 dalek r30255 | rgrjr++ | trunk:
16:32 dalek : Fix sorting.
16:32 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30255
16:32 Theory joined #parrot
16:46 cotto-work joined #parrot
16:50 magnachef_ joined #parrot
16:51 Ademan_ joined #parrot
16:51 rblackwe_ joined #parrot
16:52 japhb_ joined #parrot
16:53 workbench joined #parrot
16:54 Piper joined #parrot
16:54 Piper Hi there.  I am Piper.  I am now publicly logging this channel.  If you don't want to be logged, please leave now.
16:54 purl joined #parrot
16:56 confound_ joined #parrot
16:56 cotto_home joined #parrot
16:56 Andy joined #parrot
16:56 Andy left #parrot
17:11 pako joined #parrot
17:29 purl joined #parrot
17:33 rurban joined #parrot
17:49 asjo joined #parrot
17:53 Theory joined #parrot
18:14 smash joined #parrot
18:14 smash hello everyone
18:21 davidfetter boa noite, smash
18:23 rurban hi smash, everyone watching olympics
18:23 smash rurban: fair enough :P
18:42 * NotFound playing mario party
18:43 smash particle: ping
18:44 particle smash: pong
18:44 smash hiya, do you remember changing 'say' to an opcode ?
18:45 particle coke did that in the past few weeks iirc
18:45 particle why?
18:46 smash hmm.. i'm trying to figure out why 'say a' is more than twice slower than 'print a && print "\n"'
18:46 particle eew
18:46 smash exactly
18:47 smash the code basically is the same, a printf and a puts
18:47 smash but i already tried changed that and i don't think the problem is there
18:47 particle where's the code?
18:47 purl the code is message mapping => usually pulled straight from the RFC
18:47 smash with two fprintfs 'say' t's still much slower
18:48 smash s/t's/it's/
18:48 smash i was tweaking the code in src/ops/io.ops
18:50 particle what are you using for a benchmark?
18:52 smash a stupid scren that gets as an argument, and then simply prints an integer argument times argumet
18:52 smash s/scren/script/
19:03 DietCoke joined #parrot
19:03 DietCoke joined #parrot
19:03 smash DietCoke: hi
19:04 DietCoke hio
19:04 smash it was you that implemented 'say' as an opcode ?
19:06 DietCoke yup.
19:06 DietCoke They are naive copies of the print opcodes.
19:06 DietCoke I suspect if you're seeing a 2x slowdown, it's because PIO_putps or _PIO_STDOUT is slow
19:07 DietCoke (that gets invoked 2x in say.)
19:07 NotFound What type of argument are you using?
19:07 DietCoke but it shouldn't be slower than 2 invocation of print.
19:07 smash hmm, i already tried to change that
19:07 smash but i can try look at it again
19:07 particle there used to be a println op that printed \n
19:07 DietCoke it was removed at one point because "say ''" does that, IIRC.
19:08 particle right, but it could give clues
19:08 DietCoke (or because print "\n" does. it was rather special purpose.)
19:08 DietCoke I think it would make more sense investigating the comparison between the two existing ops, but ok. =-)
19:08 smash well, i can paste the script i'm using to benchmark it if you guys want to take a look at it
19:08 DietCoke that will save me the effort of creating my own, yes please.
19:08 smash but i don't see nothing wrong in the benchmarking script
19:09 smash nopaste good enough or want by e-mail ?
19:09 DietCoke either
19:10 DietCoke particle: how goes?
19:10 particle meh
19:10 particle i'm not losing weight or anything productive like you
19:11 DietCoke purl, 282-224.6
19:11 purl 57.4
19:15 smash DietCoke: mail sent
19:16 NotFound PIO_puts calls PIO_write, and this builds a parrot string. The string building can be the culprit.
19:16 smash let me quickly change that an run the benchmark again
19:18 DietCoke running at 1000; I see no substantial difference.
19:18 smash run it with 5000
19:19 DietCoke trying that now. also running it with >/dev/null
19:19 NotFound By the way, print and say opcodes with strings calls string_length, and that can be a costly operation.
19:21 DietCoke at 2000 iterations, I'm seeing say beat print by 0.5s
19:21 DietCoke Are you actually letting the output go to the screen?
19:21 DietCoke (rather than redirecting it somewhere?)
19:21 DietCoke that could be affecting your timings, no?
19:23 DietCoke purl, 39.996 - 39.245
19:23 purl 0.75100000000
19:24 DietCoke print is 3/4 of a second faster at 3000 iterations...
19:24 DietCoke This seems like noise.
19:25 smash DietCoke: i'm doing sending the output to /dev/null
19:25 smash s/doing//
19:25 DietCoke originally, or trying again?
19:26 smash running again now
19:26 DietCoke also, any local modifiations to your bird?
19:26 DietCoke (going for the 5000 iterations now.)
19:26 DietCoke Might also be interesting to have parrot tell you how many gc runs it did.
19:26 DietCoke (at the end)
19:27 smash (modifications) nope, i only have local changes on branches
19:27 smash (gc) yes, or maybe just turning it off
19:28 DietCoke anyway, I don't see how it -could- be slower, on the face of it. it should be quicker, with one less op dispatch going on. wierd.
19:28 smash my thought exactly
19:29 DietCoke within a second, the 5K iterations are teh same.
19:29 NotFound print "\n" prints a parrot string, the current say implementation prints a C string.
19:29 DietCoke NotFound: which should make say even faster, neh?
19:29 NotFound DietCoke: not, because it builds a parrot string from the C string and prints it.
19:30 DietCoke ... so it's not printing a C string. =-)
19:30 NotFound It calls PIO_puts with a C string.
19:30 NotFound print "\n" does not do that.
19:31 DietCoke right. that's printing an actual parrot string.
19:31 DietCoke so say is printing a c string, and print is printing a parrot string.
19:32 DietCoke I would tend to think that not having to deal with a parrot string is marginally faster.
19:32 DietCoke or are you saying that PIO_puts is converting a C string to a parrot string internally?
19:32 NotFound DietCoke: but PIO_puts calls PIO_write, and PIO_write builds a parrot string and send it to the IO layer.
19:33 NotFound And print "\n" send the parrot string to the IO layer more directly.
19:33 DietCoke FSV of more directly. PIO_putps is doing more work than PIO_puts
19:34 DietCoke smash: also, I was comparing .pir times, not PBC times.
19:34 * smash nods.
19:35 DietCoke it is possible that with what notfound is saying, the PBC has to do less work because more work was done at compile time.
19:35 DietCoke so I'd throw that into the diagnostic mix, too.
19:36 DietCoke (has to do less work for print)
19:36 DietCoke Could always try doing the CONST_STRING trick on the "\n" we're using there.
19:37 NotFound I'm just saying that the way say works looks too complicated.
19:41 NotFound "%f" must be FLOATVAL_FMT, it isn't?
19:42 smash why it's not "%f\n" ?
19:43 smash i'm trying that right now
19:44 NotFound FLOATVAL_FMT "\n" must work in any decent C compiler.
19:44 * smash nods.
19:49 particle joined #parrot
19:58 DietCoke well, again, the say opcodes were just a naive copy of code elsewhere; I was trying to remove other special purpose code, not make them go fast. =-) My feelings will not be hurt if you make them zippy. =-)
19:58 DietCoke ~~
20:00 Zaba joined #parrot
20:00 particle1 joined #parrot
20:07 NotFound The %f thing is not to make it faster, is to make it correct.
20:07 smash yes
20:07 smash but the "slowness" problem is not in there
20:07 smash (at least by my tests)
20:14 mmcleric_ joined #parrot
20:15 NotFound There is a GC call inside one of the functions used, but I think is ifndef'ed.
20:23 tewk Whats the tiny url service dalek used to convert everything to?
20:24 desertmax joined #parrot
20:25 particle1 xrl.us iirc
20:29 cognominal joined #parrot
20:34 Theory joined #parrot
20:58 confound joined #parrot
21:04 smash joined #parrot
22:12 cotto-work was there ever a discussion/conclusion about HLL interoperability at YAPC?
22:17 kid51 joined #parrot
22:17 cognominal cotto-work,  there will be a hackathon at Copenhagen tomorrow. This will be a good time to ask your questions
22:22 Limbic_Region joined #parrot
22:27 diakopter joined #parrot
22:27 diakopter left #parrot
22:30 diakopter joined #parrot
22:32 cotto-work heh.  I'll be away from irc.
22:33 cotto-work I'm sure someone will bring it up
22:33 davidfetter heh
22:33 Theory joined #parrot
22:51 cognominal joined #parrot
23:00 tetragon joined #parrot
23:16 cognominal joined #parrot

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

Parrot | source cross referenced