Camelia, the Perl 6 bug

IRC log for #parrot, 2010-09-03

Parrot | source cross referenced

← Previous day | Index | Channel Index | Today | Search | Google Search | Plain-Text | plain, newest first

All times shown according to UTC.

Time Nick Message
00:02 cotto_work Paul_the_Greek: I doubt it unless you're talking about internal functions.
00:02 Paul_the_Greek chromatic: I don't think Boolean can be made appreciably faster by not inheriting from Integer.
00:03 cotto_work: For example, Integer uses get_integer all over the place.
00:04 Does that have to go through the vtable?
00:04 I suppose it does.
00:04 chromatic It's not about faster but about smarter.
00:05 Paul_the_Greek chromatic: Smarter booleans? What do you mean?
00:06 cotto_work Also, it's possible that the compiler is inlining it already.
00:07 Paul_the_Greek But I was being stoopid. Of course get_integer has to go through the vtable in case an inheriting PMC overrides it.
00:07 dukeleto chromatic: very nice to see some graphical benchmark data
00:09 dngor left #parrot
00:09 dngor joined #parrot
00:09 Paul_the_Greek Percentage decrease would be nice to see.
00:16 chromatic Booleans shouldn't have to allocate any memory.
00:16 Use one of the PMC private flags to store its one-bit state.
00:16 Paul_the_Greek Ah, you're thinking we could get rid of the attribute block.
00:16 chromatic Exactly.
00:16 Paul_the_Greek There's a lot to be said for that.
00:17 Okay, I'll continue my investigation to see how HLLs are using booleans.
00:17 I'm betting some are relying on the integer-ish behavior of them.
00:18 But they can't rely on that for boolean vectors, so perhaps it's okay to eliminate that behavior.
00:19 Maybe any strange behavior can simply be merged into the smart boolean (e.g., negate).
00:20 dalek parrot: r48767 | bacek++ | trunk/src/string/api.c:
00:20 parrot: Block GC in str_join to avoid premature collecting of temporary strings. Closes #1767.
00:20 parrot: review: http://trac.parrot.org/parrot/changeset/48767/
00:20 parrot: r48768 | bacek++ | trunk/t/op/string.t:
00:20 parrot: Add test for #1767.
00:20 parrot: review: http://trac.parrot.org/parrot/changeset/48768/
00:20 TT #1767 closed by bacek++: join opcode causes segfaults and other memory corruption issues
00:20 TT #1767 : http://trac.parrot.org/parrot/ticket/1767
00:20 Paul_the_Greek chromatic: Would you add a new boolean pmc and eventually deprecate the current one, or just change the current one?
00:29 Paul_the_Greek left #parrot
00:30 chromatic msg Paul_the_Greek I'd change the current one.
00:30 purl Message for paul_the_greek stored.
00:35 davidfetter joined #parrot
00:35 whiteknight left #parrot
00:37 dalek parrot: r48769 | jkeenan++ | trunk/config/inter/progs.pm:
00:37 parrot: Per discussion in �http://trac.parrot.org/parrot/ticket/854, revert code
00:37 parrot: changes in r48758, deleting TODO item and replacing it with explanatory inline
00:37 parrot: comment.
00:37 purl comment is pretty exhaustive, read it carefully
00:37 dalek parrot: review: http://trac.parrot.org/parrot/changeset/48769/
00:38 pmichaud purl, your days are numbered. :-P
00:38 purl ...but purl's days is clearly numbered.  It's a sign....
00:38 ...but purl's days are clearly numbered.  It's a sign....
00:43 cotto ~~
00:48 davidfetter left #parrot
00:57 dalek parrot-linear-algebra: a78a64c | Whiteknight++ | setup.nqp:
00:57 parrot-linear-algebra: fix the 'instructions' portion of the generated plumage metadata. NotFound++ for the catch
00:57 parrot-linear-algebra: review: http://github.com/Whiteknight/[…]d02cdfecc9873a0f8
00:57 parrot-linear-algebra: 1831e83 | Whiteknight++ | ports/plumage/parrot-linear-algebra.json:
00:57 parrot-linear-algebra: regenerate the plumage metadata file
00:57 parrot-linear-algebra: review: http://github.com/Whiteknight/[…]d277b4fbbf6dc3f2c
00:57 parrot-linear-algebra: 8b3241e | Whiteknight++ | s (7 files):
00:57 parrot-linear-algebra: Merge branch 'master' of github.com:Whiteknight/parrot-linear-algebra
00:57 parrot-linear-algebra: review: http://github.com/Whiteknight/[…]7d2f4d859531b616c
00:57 parrot-linear-algebra: cfcbcb1 | Whiteknight++ | / (6 files):
00:57 parrot-linear-algebra: boxing primitive types respects HLL mappings. Untested
00:57 parrot-linear-algebra: review: http://github.com/Whiteknight/[…]9ff1e1a9fa29f9831
00:57 Psyche^ joined #parrot
00:57 Psyche^ is now known as Patterner
01:04 GeJ left #parrot
01:04 GeJ joined #parrot
01:14 theory left #parrot
01:17 bacek_at_work aloha, karma whiteknight
01:17 aloha bacek_at_work: whiteknight has karma of 4.
01:24 fedov left #parrot
01:25 * kid51 , ever the contrarian, has few problems with purl
01:26 feels lonely when purl is not around
01:27 GeJ seconded.
01:35 pmichaud purl would be fine if it spoke only when spoken to.  :)
01:35 purl pmichaud: huh?
01:36 bacek_at_work insult purl
01:36 aloha purl is nothing but a vain half-mouthful of beslubbering entrails.
01:39 GeJ purl: don't listen to them hun', they're just being mean.
01:39 purl GeJ: huh?
01:39 GeJ sigh
01:40 * kid51 will consider aloha an improvement over purl only if it talks back to me in Russian
01:42 * cotto will consider aloha an improvement if he doesn't respond to "+1" with "1"
01:44 theory joined #parrot
01:48 bluescreen left #parrot
02:18 tcurtis joined #parrot
02:31 kid51 left #parrot
02:35 janus left #parrot
02:42 janus joined #parrot
02:56 bacek_mobile joined #parrot
02:57 bacek_mobile http://github.com/parrot/pir
02:58 I moved pirate to parrot organization on github.
02:58 Hooray?
02:59 cotto hooray!
03:26 tetragon left #parrot
03:34 wagle left #parrot
03:44 wagle joined #parrot
03:51 pmichaud (r48768)  blocking gc for the duration of the join obviously is a sufficient workaround... but somehow I worry that's not a good overall answer.
03:51 chromatic Likewise.
03:51 pmichaud I mean, if we're concatenating a million-element array, we end up with a million strings
03:52 that aren't gc'ed until the join is finished.
03:54 however, I'll note that disabling gc during join did indeed solve the issue we were seeing in rakudo (at least from the tests I've run).  I'm spectesting now.
03:56 chromatic Only the transcoding should change things.
03:56 pmichaud ?
03:56 I don't understand.
03:57 chromatic The only thing that could generate a STRING that isn't otherwise reachable is the case where we have to transcode STRINGs.
03:57 pmichaud or if we're stringifying non-string elements, yes?
03:57 chromatic src/string/api.c:3304
03:57 Hm, I suppose so yes.
03:57 pmichaud (which is the exact case here)
03:58 chromatic I assumed it was an RSA, but nothing forces that.
03:58 pmichaud so, a join of a million integers results in a million strings
03:58 (with gc disabled)
03:58 chromatic That's partly because Parrot_str_from_int() is silly.
03:59 Then again, the optimization I had in mind that I didn't mention and you're certainly not thinking of doesn't help that pathological case of 1 .. *
04:00 bacek_mobile Vtable-get-string generates temporary.
04:02 dalek github-trac: a6f5f15 | cotto++ | github/hook.py:
04:02 chromatic I'm at the point of arguing that Parrot_str_join() ought to be less complex even if it means reallocating the destination a couple of times.
04:02 dalek github-trac: silly typo fix
04:02 github-trac: review: http://github.com/cotto/github[…]e915f2201be27528b
04:02 pmichaud I was thinking something similar.
04:02 chromatic It's a lot less code, and we can reliably disable the GC.
04:02 Er.
04:03 We can rely on GC working properly.
04:03 pmichaud afk, errand.
04:06 chromatic The function is 108 lines (counting blank lines and comments)... it could be a third that size.  I'm game, unless someone beats me to it.
04:06 bacek_mobile We can switch to StringBuilder now
04:08 chromatic Oh yeah, you mentioned that too.
04:12 StringBuilder gets init_pmc(), hooray!
04:28 mikehh_ joined #parrot
04:30 mikehh left #parrot
04:30 mikehh_ is now known as mikehh
04:30 mikehh opbots, names
04:35 Andy joined #parrot
04:40 dalek rakudo: 1e56d20 | pmichaud++ | build/PARROT_REVISION:
04:40 rakudo: Bump PARROT_REVISION to get pir::join opcode fix (TT #1767 ).
04:40 rakudo: review: http://github.com/rakudo/rakud[…]8985e1209c05a0b3b
04:41 tcurtis I finally finished my valgrind run of the rakudo spectests.
04:41 chromatic What's the damage?
04:41 purl age is probably not valid, so it's not backwards
04:42 * pmichaud wonders how chromatic's comment leads to purl's response.
04:42 chromatic the damage?
04:42 purl rumour has it age is not valid, so it's not backwards
04:43 pmichaud I also have trouble envisioning "valgrind" and "spectest" in the same thoughstream, so tcurtis++  :-)
04:48 tcurtis Now to look at the some amount less than 31K lines of backtraces.
04:51 hercynium left #parrot
04:58 tcurtis Is there an option to grep that causes it to print lines that don't match the pattern?
04:58 bacek_at_work grep -v
05:00 tcurtis Thanks.
05:00 * tcurtis failed at man-page-reading.
05:00 tcurtis bacek++
05:07 cotto explain bacek
05:07 aloha positive: | trunk/src/string/api.c: (dalek), | trunk/t/op/string.t: (dalek), : join opcode causes segfaults and other memory corruption issues (dalek); negative: nothing; overall: 5.
06:16 Andy left #parrot
06:18 bacek_mobile left #parrot
06:25 uniejo joined #parrot
06:36 chromatic left #parrot
06:36 dalek parrot: r48770 | NotFound++ | trunk/t/pmc/exception.t:
06:36 parrot: test Exception get/set attribute handler_ctx
06:36 parrot: review: http://trac.parrot.org/parrot/changeset/48770/
06:38 theory left #parrot
06:44 fperrad joined #parrot
06:56 dalek github-trac: e12d18d | cotto++ | github/ (2 files):
06:56 github-trac: add and fix checks for the enable_revmap config option
06:56 github-trac: review: http://github.com/cotto/github[…]047dec7a385283fd0
06:56 github-trac: 84eac6c | cotto++ | github/github.py:
06:56 github-trac: rollback db to undo any goofiness caused by looking for a nonexistent table
06:56 github-trac: review: http://github.com/cotto/github[…]e4a930e8c12c8c2d4
07:37 nopaste "NotFound" at 192.168.1.3 pasted "Another blizkost example: using Gtk2 from winxed" (57 lines) at http://nopaste.snit.ch/23221
07:39 NotFound That,s language interoperability!
08:05 moritz what does the 'using destroy;' do?
08:15 cotto trac--
08:15 trac--
08:15 trac--
08:15 trac--
08:15 stupid subtly different db interfaces
08:21 my, what a pain that was
08:21 sorear NotFound: Nifty.  I'm suprised it worked at all
08:23 dalek github-trac: 88444aa | cotto++ | github/github.py:
08:23 github-trac: fix and simplify the table creation code
08:23 github-trac: review: http://github.com/cotto/github[…]892606c2291fbef95
08:24 github-trac: 769c04f | cotto++ | github/github.py:
08:24 github-trac: be more forgiving when looking up commit ids
08:24 github-trac: review: http://github.com/cotto/github[…]be8217b12563a6625
08:24 github-trac: 846c629 | cotto++ | github/github.py:
08:24 github-trac: tighten up regexes a little
08:24 github-trac: review: http://github.com/cotto/github[…]c4246ce87b9eea823
08:24 github-trac: 25c3650 | cotto++ | github/github.py:
08:24 github-trac: fix db queries to work as trac expects, not just as sqlite happens to accept
08:24 github-trac: review: http://github.com/cotto/github[…]a04efea2aae6de36c
08:24 cotto time to see if it'll run on my server
08:33 The osuosl people are way better at setting up trac than me.
08:36 http://mksig.org/trac/wiki/WikiStart
08:37 It's slow because my vm is grossly underpowered for trac.
08:37 u/p of parrot/parrot if anyone wants to play with it
08:38 and I'm off to bed
08:39 szbalint cotto: how do you integrate trac with git?
08:39 any good way to handle multiple branches?
08:39 ah. good night :)
08:40 aloha left #parrot
08:42 bacek left #parrot
08:49 fperrad_ joined #parrot
08:53 fperrad left #parrot
08:53 fperrad_ is now known as fperrad
08:59 cotto left #parrot
09:09 tcurtis left #parrot
09:12 cotto joined #parrot
09:54 cotto left #parrot
09:58 dalek rakudo: 5ae715c | colomon++ | t/spectest.data:
09:58 rakudo: Turn on S03-operators/comparison.t.
09:58 rakudo: review: http://github.com/rakudo/rakud[…]0da2f5fc9bc6ce80a
09:58 rakudo: c9eac47 | colomon++ | src/core/operators.pm:
09:58 rakudo: Fix the Any versions of the numeric comparison operators to forward to the Numeric versions.
09:58 rakudo:
09:58 rakudo: If you are doing a numeric comparison of non-Numeric types, this will be slightly slower but handle edge cases correctly.
09:58 rakudo: review: http://github.com/rakudo/rakud[…]2645ae9df1da42fd6
10:08 cotto joined #parrot

← Previous day | Index | Channel Index | Today | Search | Google Search | Plain-Text | plain, newest first

Parrot | source cross referenced