Camelia, the Perl 6 bug

IRC log for #parrot, 2011-05-27

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 whiteknight you lose a certain amount of speed because you lose cross-module static function bindings, but you gain the ability to compile on mem-constrained machines
00:00 whiteknight that's a personal preference. NotFound is in charge
00:01 dalek parrot: a95f8c1 | Whiteknight++ | include/parrot/parrot.h:
00:01 dalek parrot: update comment in parrot.h to be more accurate. In the future parrot.h might not be required for extensions, but right now it is required because extend.h is so anemic
00:01 dalek parrot: review: https://github.com/parrot/parrot/commit/a95f8c1fdf
00:02 lucian whiteknight: i think precompiled pbcs might be a better choice
00:03 whiteknight thats what rosella does. Each file is compiled down to .pbc and combined with pbc_merge
00:03 whiteknight and for releases, I compile all the files down to .pir and cat them together
00:04 lucian i have a suspicion the GC is also doing evil things on ARM
00:04 whiteknight very possible
00:06 lucian hmm. not sure i can sell my x86 laptop anymore
00:06 lucian i was hoping to do all parrot work on this arm one
00:07 whiteknight sort with .sort BUILTIN - 0.064494s - %100.000000 (%0.000000 diff)
00:07 whiteknight sort with Rosella Query - 0.044705s - %69.316506 (%-30.683494 diff)
00:08 whiteknight I love when a prediction holds true
00:10 lucian whiteknight: that looks fun
00:10 lucian what kind is each?
00:12 whiteknight they're both quicksort
00:12 whiteknight the array is a pathological case in reverse sort order
00:13 whiteknight so [10000, 9999, 9998, ... ]
00:13 lucian right
00:13 lucian so it's o(n*n)
00:13 whiteknight right
00:13 whiteknight both are choosing the middle element as pivot
00:13 whiteknight both are using the same comparison routine
00:14 whiteknight the only real difference is that one is calling nested runloops, the other isn't
00:14 lucian don't know what those are
00:14 whiteknight for the best
00:14 lucian and the builtin is written in C?
00:14 whiteknight yes
00:14 lucian hmm
00:14 whiteknight and the Rosella version is Winxed
00:14 lucian i wonder what a jit would do
00:15 whiteknight it is proof positive that PIR->PIR is faster than C->PIR
00:15 lucian the PyPy folks have been seeing interesting results with pure-python code
00:15 whiteknight staying in one domain is best
00:15 lucian yes, of course
00:15 whiteknight yes, I look forward to hiting this with a JIT
00:15 * cotto_work head home
00:15 lucian ot
00:15 lucian it's part of why i'd like to see parrot written in not-c
00:16 whiteknight I want to use a version that switches to bubble sort for subarrays less than 6 elements long, or maybe even go to heapsort below a certain recusion depth
00:16 lucian something as low-level as C, but on the other side of the stack
00:16 whiteknight both should help
00:16 lucian why bubble? that's sort of horrible even then
00:16 lucian i'd expect insertion/selection to beat it every time
00:17 lucian timsort might be interesting to write
00:17 whiteknight bubble has great coefficients. If we keep the subarray size small it wins
00:17 lucian hmm
00:17 whiteknight Microsoft's implementation of qsort from libc switches to bubblesort for subarrays smaller than 6 objects, and they saw a big performance boost for most large workloads
00:17 lucian i see
00:18 whiteknight plus, I have a benchmarking framework now, so I can test to see if my crazy theories hold water
00:18 lucian i find http://en.wikipedia.org/wiki/Timsort a little funny
00:18 soh_cah_toa joined #parrot
00:19 lucian yes, a bench framework is great
00:19 lucian profiler might be even better
00:20 whiteknight yes
00:20 whiteknight I keep looking at Introsort and Smoothsort
00:20 whiteknight Introsort is basically quicksort minus pathologic behaviors, and Smoothsort is black magic that nobody understands
00:21 lucian smoothsort i once delved in, don't remember if i understood it or not
00:22 lucian i also keep thinking that there's a ton of code out there written in java
00:22 whiteknight Timsort does look intersting
00:22 lucian it's a bit sad
00:22 lucian yes, it is
00:23 whiteknight N = 100000
00:23 whiteknight sort with .sort BUILTIN - 12.228088s - %100.000000 (%0.000000 diff)
00:23 whiteknight sort with Rosella Query - 8.108769s - %66.312648 (%-33.687352 diff)
00:23 whiteknight I love this thing
00:24 lucian heh
00:27 lucian it is pretty cool. and not quite so surprising
00:27 lucian i'm no longer surprised at all when i see less native code beating more native code
00:28 whiteknight considering that Parrot doesn't have a JIT and doesn't even have a "high performance" op dispatcher, this is interesting
00:28 whiteknight I'm not running an optimized Parrot now
00:28 whiteknight so that might mean something
00:28 lucian hmm, yes
00:28 lucian although even so, it shouldn't mean that much
00:29 whiteknight they both should get optimized. It depends how much each is
00:29 whiteknight I'll try now
00:29 whiteknight the builtin version looks reasonably efficient
00:30 lucian you might try to profile parrot while running each
00:31 lucian if the c-pir boundary is very slow to cross, that should be seen
00:36 pmichaud whiteknight: just a note that Rakudo uses the built-in sort method on RPA.
00:37 pmichaud (the RPA only contains integers)
00:38 pmichaud but it does always use a custom comparison routine
00:39 whiteknight pmichaud: Use my version, save 30%
00:39 whiteknight it just won't be a method
00:39 pmichaud well, we're trying to use less PIR, not more :)
00:40 whiteknight I'm just saying, if you want a faster sort, Parrot's current version is not the best
00:40 pmichaud but yes, I could put something in as a cheat and see if it's faster for us
00:40 whiteknight I don't know if an NQP version would be faster if all the variables were autovivified and lexicallized, but it's possible
00:41 pmichaud might be faster in the new nqp where lots of things aren't lexicalized
00:41 davidfetter left #parrot
00:41 whiteknight results with an optimized parrot:
00:41 whiteknight N = 100000
00:41 whiteknight sort with .sort BUILTIN - 4.623765s - %100.000000 (%0.000000 diff)
00:41 whiteknight sort with Rosella Query - 3.183849s - %68.858362 (%-31.141638 diff)
00:42 whiteknight so both are about 1/3 as expensive as unoptimized parrot, but the new version is still a clear winner
00:42 lucian whiteknight: i'm tempted to compare it with a different runtime, but i know the results will be meaningless
00:43 whiteknight lucian: I'm sorting a ResizablePMCArray, not an integer array
00:43 whiteknight I'm sure if I did native ints that it would be faster
00:43 whiteknight actually....
00:43 pmichaud I couldn't use native ints for some reason.
00:43 cotto ~~
00:44 whiteknight no, nevermind. My sort routine uses pmcs internally, using an int array right now would do a lot of unnecessary boxing/unboxing
00:44 pmichaud bah, where can I browse the source?
00:46 pmichaud okay, found the source -- where's the sort function?
00:46 whiteknight src/util.c
00:46 whiteknight Parrot_util_quicksort
00:46 pmichaud no, I mean for Rosella
00:46 pmichaud I know where the Parrot sort is.  :-/
00:47 pmichaud I assume that's what you meant by "use my version"  :-)
00:47 lucian whiteknight: hmm, think parrot's sort is just really, really bad
00:48 lucian in python, the same thing takes a couple of miliseconds
00:49 lucian whiteknight: but of course, this is python's timsort vs parrot's quicksort
00:50 pmichaud seems hard to fathom that a recursive quicksort in PIR could be faster than Parrot's builtin sort.
00:53 theory left #parrot
00:58 whiteknight pmichaud: nested runloops are performance kilers
00:58 whiteknight killers
00:59 whiteknight I don't know if you saw my benchmarks a few days ago to that effect
01:00 whiteknight I was wrong, the RIA version of the sort is negligibly slower
01:00 whiteknight so that's not an issue
01:01 dalek Rosella: 9956192 | Whiteknight++ | src/query/Provider.winxed:
01:01 dalek Rosella: fix conflict
01:01 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/9956192b29
01:01 dalek Rosella: 92a759d | Whiteknight++ | src/unstable/file/Constants.winxed:
01:01 dalek Rosella: Add missing Constants file
01:01 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/92a759de88
01:01 dalek Rosella: 40c5d10 | Whiteknight++ | src/unstable/benchmark/Result.winxed:
01:01 dalek Rosella: Add missing Result file
01:01 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/40c5d1098d
01:01 dalek Rosella: d61dfba | Whiteknight++ | .gitignore:
01:01 dalek Rosella: Update .gitignore to know about .pasm files
01:01 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/d61dfba60a
01:01 dalek Rosella: 4d45227 | Whiteknight++ | src/winxed/Distutils.bootstrap.pir:
01:01 dalek Rosella: update bootstrap distutils library to handle constants files
01:02 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/4d45227f01
01:02 dalek Rosella: ba88049 | Whiteknight++ | benchmarks/query/sort.winxed:
01:02 dalek Rosella: Add in the sort benchmark I've been using
01:02 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/ba880497f1
01:03 lucian left #parrot
01:06 lucian joined #parrot
01:26 bubaflub left #parrot
01:50 cotto dukeleto, ping
01:50 benabik whiteknight: Does your sort still win without a custom comparison function?
01:51 whiteknight benabik: it only wins with a custom comparison
01:51 whiteknight if we use the built-in, pure-C comparisons, I lose by like 400%
01:54 benabik whiteknight: Well that's "good". At least it's just the runloop killing us.
01:55 ingy sb end
01:55 cotto """"""good""""""
01:55 ingy O HAI o/
01:55 cotto hi ingy
01:58 dalek Rosella: 5881809 | Whiteknight++ | src/unstable/file/directory/Iterator.winxed:
01:58 dalek Rosella: remove directory iterators. We will use Walk/visitors instead
01:58 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/5881809fff
01:58 dalek Rosella: 4cba2b4 | Whiteknight++ | s (3 files):
01:58 dalek Rosella: Remove Walker, move the walk code into the Directory namespace
01:58 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/4cba2b48e0
01:58 dalek Rosella: 81c43dc | Whiteknight++ | src/unstable/file/ (3 files):
01:58 dalek Rosella: FileList -> List. A few other fixes
01:58 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/81c43dc6cb
01:59 whiteknight left #parrot
02:01 bacek_at_work ~~
02:01 bacek_at_work benabik, ping.
02:03 benabik bacek_at_work: pong.
02:03 bacek_at_work benabik, how is you gsoc project going?
02:04 benabik bacek_at_work: Pretty good,
02:04 bacek_at_work Sorry, I was quite busy with RL in past few days.
02:04 bacek_at_work benabik, ok. Good news :)
02:04 benabik Bah. Stupid phone.
02:04 benabik bacek_at_work: I have all of PAST building from NQP, with liberal use of Q:PIR in the compiler
02:05 bacek_at_work benabik, yeah, Compiler is a quite big beast.
02:06 benabik bacek_at_work: Actually hit a "fun" problem where the code to handle inline nodes was mangling itself.
02:06 bacek_at_work benabik, ouch. How that?
02:07 dalek parrot/leto/embed_grant: 3dc8249 | dukeleto++ | t/src/extend_vtable.t:
02:07 dalek parrot/leto/embed_grant: [t] Parrot_PMC_is_equal_string
02:07 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/3dc8249f4f
02:07 benabik bacek_at_work: It replaced the '%r' string constant with the register.
02:08 pmichaud whiteknight++  # yes, a sort written in PIR is much faster than the built-in C sort
02:08 bacek_at_work benabik, committed and pushed?
02:08 pmichaud (when calling to a custom comparison function)
02:08 bacek_at_work pmichaud, "runloops"?
02:08 pmichaud bacek_at_work: indeed.
02:08 lucian left #parrot
02:08 benabik bacek_at_work: Could explain better if I wasn't hamper by tiny keyboard (not at home)
02:08 bacek_at_work pmichaud, it's kind of "expected"...
02:08 benabik bacek_at_work: Yes, to branch in my fork.
02:09 pmichaud bacek_at_work: I wonder how many other places we cross that boundary, though.
02:09 bacek_at_work benabik, no worries. When is the best time to catch you?
02:09 bacek_at_work pmichaud, "a lot". Almost all Object's methods for example
02:10 pmichaud ow ow ow
02:10 pmichaud and it's "expected" there also?  as in, there aren't any plans to fix this?  ;-)
02:11 pmichaud I suppose all vtable overrides experience a similar problem?
02:11 benabik bacek_at_work: Not sure when I'll be home tonight. Tomorrow is pretty open (AFAIK)
02:17 bacek_at_work pmichaud, I suspect so.
02:17 pmichaud looks like yes for vtable overrides
02:18 bacek_at_work benabik, ok. Let's try to catch up tomorrow. Can be either morning of evening in SYD timezone
02:18 bacek_at_work aloha, clock?
02:18 aloha bacek_at_work: LAX: Thu, 19:18 PDT / CHI: Thu, 21:18 CDT / NYC: Thu, 22:18 EDT / UTC: Fri, 02:18 UTC / LON: Fri, 03:18 BST / BER: Fri, 04:18 CEST / TOK: Fri, 11:18 JST / SYD: Fri, 12:18 EST
02:19 bacek_at_work benabik, ^^^
02:19 pmichaud adding a :vtable('cmp') to my custom string class causes the quicksort to take 260% more time.
02:20 benabik bacek_at_work: I'm NYC. You're +14 from me... Math is harder after a couple beers
02:20 pmichaud (.61 seconds versus 1.62 seconds)
02:20 bacek_at_work benabik, get more beers and don't worry till morning :)
02:20 bacek_at_work pmichaud, whiteknight++ described this in his blog.
02:20 pmichaud bacek_at_work: yes, I'm just verifying it for myself.
02:20 pmichaud and quantifying it
02:21 pmichaud and figuring out what that implies for rakudo
02:21 bacek_at_work pmichaud, http://whiteknight.github.com/2011/​05/10/timings_vtable_overrides.html
02:21 bacek_at_work pmichaud, "very huge performance impact"
02:23 pmichaud I wonder how far I can get by simply disabling most of rakudo's vtable overrides
02:23 pmichaud will try that in a bit
02:23 pmichaud anyway, afk, walk
02:23 benabik bacek_at_work: My tomorrow evening is your tomorrow morning, ne? I should be able to keep my laptop nearby then. I think my even/your mornings will be best in general. Your evenings are too early morning for me.
02:23 pmichaud thanks for the pointer to the article -- hadn't seen it yet
02:23 bacek_at_work benabik, ok :)
02:23 pmichaud (it's in my reading queue... but that's been pretty full lately)
02:24 bacek_at_work pmichaud, sounds familiar...
02:25 benabik bacek_at_work: Yeah. I tend to wake up 9ish and be useful around 10, so unless your a night owl that's a bad plan.
02:26 dalek parrot/leto/embed_grant: 8923e21 | dukeleto++ | t/src/extend_vtable.t:
02:26 dalek parrot/leto/embed_grant: [t] Parrot_PMC_i_floor_divide
02:26 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/8923e213ce
02:26 dalek parrot/leto/embed_grant: f69fe31 | dukeleto++ | t/src/extend_vtable.t:
02:26 dalek parrot/leto/embed_grant: [t] Parrot_PMC_i_floor_divide_float
02:26 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/f69fe31fc8
02:26 dalek parrot/leto/embed_grant: 028299b | dukeleto++ | t/src/extend_vtable.t:
02:26 dalek parrot/leto/embed_grant: [t] Parrot_PMC_i_divide_int
02:26 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/028299bc90
02:26 dalek parrot/leto/embed_grant: 1cbdea9 | dukeleto++ | t/src/extend_vtable.t:
02:26 dalek parrot/leto/embed_grant: [t] Parrot_PMC_i_divide_float
02:26 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/1cbdea9e7b
02:26 dalek parrot/leto/embed_grant: d6726f8 | dukeleto++ | t/src/extend_vtable.t:
02:26 dalek parrot/leto/embed_grant: Fix the Parrot_PMC_is_equal_string test
02:26 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/d6726f88f4
02:27 dalek parrot/pmc_mark: e8c864b | dukeleto++ | t/src/extend_vtable.t:
02:27 dalek parrot/pmc_mark: Add a failing test for Parrot_PMC_mark
02:27 dalek parrot/pmc_mark:
02:27 dalek parrot/pmc_mark: This test coredumps Parrot, hard.
02:27 dalek parrot/pmc_mark: review: https://github.com/parrot/parrot/commit/e8c864bdc8
02:37 tcurtis_ is now known as tcurtis
02:47 atrodo http://article.gmane.org/gman​e.comp.lang.lua.general/75426
03:11 bacek_at_work dukeleto, Parrot_PMC_mark should be removed. For the same reason as VTABLE_destroy. It's GC internal functions.
03:35 theory joined #parrot
04:28 ShaneC joined #parrot
04:33 birdwindupbird joined #parrot
04:39 soh_cah_toa left #parrot
04:51 mtk left #parrot
04:59 mtk joined #parrot
05:28 preflex left #parrot
05:29 cotto dukeleto, you'll like this I think
05:29 dalek parrot/m0-prototype: a54b74c | cotto++ | t/m0/ (5 files):
05:29 dalek parrot/m0-prototype: give some m0 test files better names
05:29 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/a54b74ce4f
05:29 dalek parrot/m0-prototype: 3ff50b3 | cotto++ | src/m0/m0_assembler.pl:
05:29 dalek parrot/m0-prototype: refactor the m0 assembler to make better error reporting possible
05:29 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/3ff50b36eb
05:29 dalek parrot/m0-prototype: bad3451 | cotto++ | t/m0/m0_assembler.t:
05:29 dalek parrot/m0-prototype: make m0 assembler tests also grab stderr, improve test names
05:29 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/bad345151c
05:29 dalek parrot/m0-prototype: 3253241 | cotto++ | src/m0/m0_assembler.pl:
05:29 dalek parrot/m0-prototype: clean up error messages, fix version parsing bug - all tests pass!
05:29 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/3253241857
05:30 preflex joined #parrot
05:35 dalek parrot/m0-prototype: b05c77c | cotto++ | / (2 files):
05:35 dalek parrot/m0-prototype: fix variables parsing bug, untodo a passing test
05:35 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/b05c77cdcc
05:35 cotto It's hard to choose between sleeping and implementing labels.
05:35 cotto I'll do both.
05:44 fperrad joined #parrot
05:52 ShaneC left #parrot
05:53 dukeleto cotto++ # m0 awesomesauce
05:54 dukeleto bacek_at_work: works for me.
05:57 dukeleto atrodo: that is quite an interesting luaJIT link. Very nice ascii diagrams
06:01 dukeleto bacek_at_work: what about Parrot_PMC_inspect and Parrot_PMC_morph ? Should those be exported still?
06:02 cotto dukeleto, thanks
06:02 dalek parrot/m0-prototype: 710b1e3 | cotto++ | / (4 files):
06:02 dalek parrot/m0-prototype: add basic label-awareness to the m0 assembler
06:02 dalek parrot/m0-prototype:
06:02 dalek parrot/m0-prototype: This only allows labels to be parsed as location markers, not used in
06:02 dalek parrot/m0-prototype: ops.
06:02 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/710b1e396b
06:02 cotto pretty good for sleepcoding
06:03 cotto making labels usable will be a bit more tricky
06:03 cotto dukeleto, it'd be awesome if you could whip up a test to run all files in t/m0/ops
06:03 cotto I think they should all output tap
06:03 cotto if not, I'll make them
06:04 dukeleto cotto: sure.
06:04 dukeleto cotto: also, take a look at http://www.reddit.com/r/programmin​g/comments/badl2/luajit_2_beta_3_i​s_out_support_both_x32_x64/c0lrus0 (if you haven't). There is some very interesting stuff there that is relevant to M0 and parrot
06:05 dukeleto cotto: which was linked to from the link atrodo++ pasted: http://article.gmane.org/gman​e.comp.lang.lua.general/75426
06:06 cotto I did see that.  The unfortunate implication is that we need to either write x86 and x86_64 code or be slower than necessary.
06:06 dukeleto cotto: meh. We can pick and choose the lessons we want to learn :)
06:06 cotto though it'll be easier to write a super-optimized interp for M0
06:06 dukeleto cotto: someone could build an M0 compiler that targetted x86 asm, if they really wanted
06:07 cotto yup
06:07 dukeleto cotto: i just want to make sure we are designing M0 in such a way that the tricks that luaJIT are doing are possible
06:07 sorear cotto: any solution that does not involve custom hardware and $1M in mask fabrication costs is slower than necessesary
06:08 sorear tradeoffs are an inescapable part of what we're doing
06:08 dukeleto cotto: parrot has always cared more about portability than speed. I think M0 is upholding that conviction.
06:09 theory left #parrot
06:09 cotto dukeleto, yes.  Otherwise we wouldn't have ripped out the jit.
06:10 cotto dukeleto, is there a better spelling for [a-zA-Z][a-zA-Z0-9_] ?
06:10 dukeleto cotto: bacek++ says that Parrot_PMC_mark should be removed from our public api, in the same matter that Parrot_PMC_destroy just was
06:11 cotto dukeleto, I don't know why we thought it was a good idea to expose that in the first place.
06:11 cotto +1
06:11 dukeleto cotto: [A-z] ~ [a-zA-z]
06:11 dukeleto cotto: it leaked
06:12 dukeleto cotto: our extend_vtable code is set up to export anything that is not explicitly disallowed
06:12 dukeleto cotto: i guess i should have used ~~
06:12 sorear cotto: <.ident>?
06:12 cotto sorear, in perl 5?
06:12 dukeleto there may be something like that in Perl 5
06:12 cotto that'd be most welcome
06:13 sorear cotto: [[:alpha:]]\w+
06:13 dukeleto cotto: that regex is very similar to what is a valid perl 5 variable name
06:13 cotto sorear, wfm
06:13 cotto sorear++
06:14 dukeleto cotto: _mark never worked in a way that anybody would want. I don't think it needs a deprecation. But I think it would be nice to list something in api.yaml
06:15 sorear _mark is a critical part of the extending API
06:15 sorear if you're writing dynpmcs, _mark is critical, otherwise it's useless
06:15 sorear (barring corner-ish cases like 6model)
06:18 cotto sorear, this is the embedding api, right?  For extend, it's definitely important for the reason sorear mentioned.
06:18 dukeleto sorear: do you know of a use of Parrot_PMC_mark in any HLL ?
06:19 * dukeleto needs to be able to ack all the source of all HLL's
06:19 sorear dukeleto: every HLL I know of with dynpmcs requires either Parrot_PMC_mark or VTABLE_mark
06:19 dukeleto Rakudo does not use Parrot_PMC_mark
06:20 sorear AFAIK, if you have "PMC *foo" in the attributes of a dynpmc, you *need* to call one or the other from your "VTABLE mark() {'
06:21 sorear mm, Rakudo uses Parrot_gc_mark_PMC_alive
06:48 bacek_at_work sorear, it's within inside parrot. Not from extend/embed API
06:55 dalek parrot: cd1edef | dukeleto++ | / (3 files):
06:55 dalek parrot: Don't export Parrot_PMC_mark
06:55 dalek parrot: review: https://github.com/parrot/parrot/commit/cd1edef38c
07:23 cotto The m0 interp can now run an infinite loop.
07:24 sorear \o/
07:25 mj41 joined #parrot
07:27 dalek parrot/m0-prototype: f679a3a | cotto++ | src/m0/m0_assembler.pl:
07:27 dalek parrot/m0-prototype: add label support to goto and goto_if in the most hacky way possible
07:27 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/f679a3a0d8
07:27 dalek parrot/m0-prototype: fa5ad1c | cotto++ | src/m0/m0_assembler.pl:
07:27 dalek parrot/m0-prototype: make goto target calculations be less broken
07:27 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/fa5ad1c0ad
07:27 dalek parrot/m0-prototype: 9a0b7d6 | cotto++ | src/m0/m0_assembler.pl:
07:27 dalek parrot/m0-prototype: fix thinko in goto_if processing
07:27 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/9a0b7d67d7
07:27 dalek parrot/m0-prototype: f36a8db | cotto++ | src/m0/m0_interp.pl:
07:27 dalek parrot/m0-prototype: make goto* use immediate values for calculating target address
07:27 dalek parrot/m0-prototype:
07:27 dalek parrot/m0-prototype: M0 can now run an infinite loop!  Try it at home!
07:27 dalek parrot/m0-prototype: perl src/m0/m0_assembler.pl t/m0/ops/m0_labels_with_goto.m0
07:27 dalek parrot/m0-prototype: perl src/m0/m0_interp.pl t/m0/ops/m0_labels_with_goto.m0b
07:27 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/f36a8dbb49
07:28 cotto I'm having trouble spelling "debugger", so I should probably goto sleep.
07:28 cotto 'night
07:30 cotto msg dukeleto If finite loops aren't good enough for you, take a look at https://github.com/parrot/parrot/commit/f36a8dbb49 .
07:30 aloha OK. I'll deliver the message.
07:59 dalek parrot: 5dd8c54 | mikehh++ | MANIFEST.SKIP:
07:59 dalek parrot: re-generate MANIFEST.SKIP
07:59 dalek parrot: review: https://github.com/parrot/parrot/commit/5dd8c543ab
08:44 mikehh still getting intermittent failures with t/pmc/threads.t - Failed test:  9 - Segmentation fault in testf (PASSes on re-run)
08:54 daniel-s joined #parrot
08:54 daniel-s hello
08:54 daniel-s is there a text editor with syntax highlighting for pir?
09:00 daniel-s left #parrot
09:01 daniel-s joined #parrot
09:12 tadzik vim, emacs
09:12 tadzik I think Parrot is shipping some syntax files
10:16 daniel-s_ joined #parrot
10:20 daniel-s left #parrot
10:44 gbacon joined #parrot
11:00 darbelo left #parrot
11:23 contingencyplan left #parrot
11:25 dodathome joined #parrot
11:55 darbelo joined #parrot
12:01 darbelo left #parrot
12:07 darbelo joined #parrot
12:08 whiteknight joined #parrot
12:17 whiteknight good morning, #parrot
12:33 birdwindupbird left #parrot
12:55 ambs joined #parrot
13:16 bubaflub joined #parrot
13:34 JimmyZ joined #parrot
13:34 bacek left #parrot
13:58 daniel-s_ left #parrot
14:07 whiteknight extremely interesting read about performance of high-level languages vs assembly: http://www.seas.gwu.edu/~adagr​oup/sigada-website/lawlis.html
14:21 ambs left #parrot
14:42 dukeleto ~~
14:52 theory joined #parrot
14:53 cotto ~~
14:57 hercynium joined #parrot
15:12 davidfetter joined #parrot
15:13 davidfetter_ joined #parrot
15:13 dalek Rosella: b51affe | Whiteknight++ | README.md:
15:13 dalek Rosella: update README with the current list of stable libraries. Remove the list of unstable libraries because it's too variable
15:13 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/b51affe4c1
15:14 dukeleto whiteknight: good read
15:15 whiteknight yeah, it goes along with something I've always said: A good compiler can beat a hand-optimizing assembly coder any day
15:15 dukeleto whiteknight: definitely. It is a cat and mouse game.
15:17 dalek Rosella: 80f5c98 | Whiteknight++ | setup.winxed:
15:17 dalek Rosella: fix filename which was renamed late last night so that we build
15:17 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/80f5c980c9
15:17 bubaflub ~
15:18 davidfetter left #parrot
15:18 davidfetter_ is now known as davidfetter
15:20 theory left #parrot
15:21 dukeleto Image analysis buffs may be interested in this: http://www.kaggle.com/c/mdm
15:25 dukeleto cotto: what exactly is your question about CPS+lexicals?
15:32 JimmyZ__ joined #parrot
15:33 davidfetter dukeleto, pretty cool :)
15:34 davidfetter dukeleto, so i just had another crazy idea
15:34 JimmyZ left #parrot
15:35 JimmyZ__ is now known as JimmyZ
15:35 davidfetter they just went and sold the first quantum computer recently
15:36 davidfetter so i'm thinking that damien's idea behind Quantum::Superpositions could get some extensions
15:36 davidfetter especially in postgresql's query planner ;)
15:42 dukeleto davidfetter: could be fun
15:44 cotto_work ~~
15:44 cotto_work dukeleto: you looking at my gist?
15:44 dukeleto cotto_work: you know it
15:45 dukeleto Rubinius is doing some very interesting community organizing stuff: http://rubini.us/2011/05/26/rubinius-rewards/
15:46 davidfetter yeah :)
15:46 bluescreen joined #parrot
15:48 JimmyZ left #parrot
15:50 cotto_work dukeleto: that's a question I need to think carefully about how to articulate/
15:50 cotto_work .
15:54 mj41 left #parrot
15:57 dukeleto cotto_work: sounds good. My question is to help you articulate :)
15:59 theory joined #parrot
16:42 whiteknight http://www.phpsadness.com/
16:45 benabik whiteknight: Thanks.  Now I have a reference to point to when I say I hate PHP.
16:46 cotto_work whiteknight: nice
16:50 dukeleto Moose is doing very cool stuff with their "deprecation data":
16:50 dukeleto Moose's conflict checking is more robust and useful
16:50 dukeleto There are two parts to this. The most useful one right now is that Moose will ship with a moose-outdated script, which can be run at any point to list the modules which are installed that conflict with the installed version of Moose. After upgrading Moose, running moose-outdated | cpanm should be sufficient to ensure that all of the Moose extensions you use will continue to work.
16:50 dukeleto from http://search.cpan.org/~flora/Moose​-2.0007/lib/Moose/Manual/Delta.pod
16:50 dukeleto that is pretty damn shiny.
17:01 dodathome left #parrot
17:06 dalek Rosella: 044b525 | Whiteknight++ | t/harness:
17:06 dalek Rosella: Add t/string to the harness, so we actually run those tests
17:06 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/044b525122
17:07 dalek Rosella: cf22acb | Whiteknight++ | src/unstable/file/File.winxed:
17:07 dalek Rosella: fix File.exists method and condense open methods. The File class passes most quick tests I throw at it
17:07 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/cf22acb6ff
17:07 dalek Rosella: 913714a | Whiteknight++ | src/unstable/file/ (2 files):
17:07 dalek Rosella: Add quick get_string methods to File and Directory
17:07 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/913714aee2
17:08 darbelo left #parrot
17:27 ambs joined #parrot
17:36 darbelo joined #parrot
18:01 ambs left #parrot
18:17 contingencyplan joined #parrot
18:24 dmalcolm joined #parrot
18:33 baest 9
18:33 baest whoops, sorry
18:35 davidfetter baest, cat on keyboard?
18:36 baest davidfetter: even worse, backspace too close to the enter key
18:36 davidfetter d'oh
18:37 baest :)
18:37 lucian joined #parrot
18:42 Coke_ can someone block recruiter.akshay@gmail.com on all the parrot lists? kthanksbye.
18:43 Coke_ msg whiteknight - can someone block recruiter.akshay@gmail.com on all the parrot lists? thanks.
18:43 aloha OK. I'll deliver the message.
18:44 Coke_ msg kid51 - can someone block recruiter.akshay@gmail.com on all the parrot lists? thanks.
18:44 aloha OK. I'll deliver the message.
18:44 davidfetter recruiters are like used car salesmen
18:44 whiteknight are we getting email from him?
18:44 davidfetter ...only the salesmen actually put you in a car
18:44 whiteknight I haven't seen any mails from him. What list is he on?
18:45 Coke_ whiteknight: he's spamming parrot-dev
18:46 Coke_ (perhaps it's just via googlegroups)
18:46 Coke_ <parrot-dev.googlegroups.com> Filter messages from this mailing list
18:48 whiteknight I don't think I'm an admin on googlegroups
18:49 Coke_ ah. my gmail is. changing the moderation settings so new members are moderated until someone verifies they are not idiots.
18:49 whiteknight I'm not even a member
18:49 whiteknight idiots--
18:50 Coke_ there. banned this guy.
18:50 Coke_ whiteknight: what's your preferred email addy?
18:51 Coke_ msg kid51 nevermind, it was via google groups, I banned him there.
18:51 aloha OK. I'll deliver the message.
18:52 Coke_ whiteknight: I can make you an owner there too. right now it's me & allison.
18:59 whiteknight If I may ask, since I've never used google groups for this before, why do we have this?
19:00 ambs joined #parrot
19:01 Coke_ some people prefer this method to interact with mailing lists.
19:01 Coke_ gives us more visiblity.
19:02 whiteknight okay, fair enough
19:02 whiteknight is it only parrot-dev on there, or more of our lists?
19:06 Coke_ good question; don't know.
19:06 Coke_ I would imagine parrot-users might make sense there; directors or legal or anything like that would not.
19:09 whiteknight yeah
19:24 whiteknight I'm thinking I would like to set up an email filter to block all emails to the parrot lists which contain the phrases "my sincere apologies", "next of kin", "business proposition", or "bank account"
19:24 whiteknight I am sick and tired of these stupid nigerian prince bullshit emails
19:24 ShaneC joined #parrot
19:25 whiteknight I also think about replying to some of these emails: "Dear Mr. [X], You're a jerk. Sincerely, Andrew"
19:26 whiteknight but then they would have my personal email address in addition to the list address
19:26 ShaneC left #parrot
19:27 whiteknight Also, I would block every email that contains the symbol "�"
19:27 whiteknight "Seven million three hundred United States of American dollars only (7,300,000.00�)"
19:28 whiteknight "Dear Mr. [X], '�' is the symbol for Euro, not 'United States of American dollars'. What company did you say you work for again? I suspect you lied on your resume. Sincerely, Andrew"
19:28 whiteknight "P.S. You're a jerk"
19:34 PacoLinux left #parrot
20:24 cotto_work I have "�" in my build path.
20:24 whiteknight do you really?
20:24 cotto_work perl Configure.pl --prefix=/usr/local/�/parrot
20:24 whiteknight really really really?
20:25 whiteknight cotto, I formally accuse you of being a nigerian scammer
20:25 cotto_work no, but I'm tempted to try it now
20:25 benabik Colloquy really doesn't like whatever symbol y'all are using.
20:26 cotto_work euro symbol
20:26 benabik Don't boot me but keeps saying "[incompatible encoding]"
20:26 benabik €?
20:28 whiteknight left #parrot
20:29 sorear irssi think's it's a reverse video @
20:29 cotto_work actually, having a ridiculous path might be a good way to expose bugs
20:31 cotto_work it kills pbc_to_exe
20:31 sorear does JimmyZ still do that thing where he tries to build Parrot under a Chinese path encoded with a non-UTF encoding
20:31 sorear ?
20:31 benabik Git had enough problems with spaces in paths that they changed all the tests to run inside "trash directory.t####"
20:34 PacoLinux joined #parrot
20:43 fperrad left #parrot
20:52 bluescreen left #parrot
20:57 benabik left #parrot
21:00 dalek parrot/leto/embed_grant: cd1edef | dukeleto++ | / (3 files):
21:00 dalek parrot/leto/embed_grant: Don't export Parrot_PMC_mark
21:00 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/cd1edef38c
21:00 dalek parrot/leto/embed_grant: 5dd8c54 | mikehh++ | MANIFEST.SKIP:
21:00 dalek parrot/leto/embed_grant: re-generate MANIFEST.SKIP
21:00 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/5dd8c543ab
21:00 dalek parrot/leto/embed_grant: 048156b | dukeleto++ | / (5 files):
21:00 dalek parrot/leto/embed_grant: Merge branch 'master' into leto/embed_grant
21:00 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/048156b99c
21:00 dalek parrot/leto/embed_grant: 983e276 | dukeleto++ | t/src/extend_vtable.t:
21:00 dalek parrot/leto/embed_grant: Remove antiquated comments
21:00 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/983e276a87
21:00 dalek parrot/leto/embed_grant: d41c2da | dukeleto++ | t/src/extend_vtable.t:
21:00 dalek parrot/leto/embed_grant: [t] Fix Parrot_PMC_i_floor_divide test
21:00 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/d41c2dac45
21:01 dalek parrot/leto/embed_grant: b2db6d4 | dukeleto++ | t/src/extend_vtable.t:
21:01 dalek parrot/leto/embed_grant: [t] Parrot_PMC_i_floor_divide_int
21:01 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/b2db6d4ca2
21:01 dalek parrot/leto/embed_grant: 7289594 | dukeleto++ | t/src/extend_vtable.t:
21:01 dalek parrot/leto/embed_grant: [t] Parrot_PMC_modulus_int
21:01 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/72895945c7
21:01 dalek parrot/leto/embed_grant: 2722766 | dukeleto++ | t/src/extend_vtable.t:
21:01 dalek parrot/leto/embed_grant: [t] Parrot_PMC_modulus_float
21:01 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/272276636a
21:01 dalek parrot/leto/embed_grant: 334b8d1 | dukeleto++ | t/src/extend_vtable.t:
21:01 dalek parrot/leto/embed_grant: [t] Parrot_PMC_i_modulus_float
21:01 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/334b8d1f30
21:01 dalek parrot/leto/embed_grant: 2138979 | dukeleto++ | t/src/extend_vtable.t:
21:01 dalek parrot/leto/embed_grant: Correct our test plan
21:01 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/213897967f
21:06 bluescreen joined #parrot
21:09 darbelo left #parrot
21:09 darbelo joined #parrot
21:16 dalek parrot/leto/embed_grant: 5ec95d9 | dukeleto++ | t/src/extend_vtable.t:
21:16 dalek parrot/leto/embed_grant: [t] Parrot_PMC_isa and Parrot_PMC_getprops
21:16 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/5ec95d93e8
21:16 dalek parrot/leto/embed_grant: d2b1bbe | dukeleto++ | t/src/extend_vtable.t:
21:16 dalek parrot/leto/embed_grant: [t] Parrot_PMC_init
21:16 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/d2b1bbec07
21:16 dalek parrot/leto/embed_grant: f2c946a | dukeleto++ | t/src/extend_vtable.t:
21:16 dalek parrot/leto/embed_grant: [t] Parrot_PMC_init_int
21:16 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/f2c946a630
21:16 dalek parrot/leto/embed_grant: 8082601 | dukeleto++ | t/src/extend_vtable.t:
21:16 dalek parrot/leto/embed_grant: [t] Parrot_PMC_name
21:17 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/80826018c4
21:17 dalek parrot/leto/embed_grant: 80a277b | dukeleto++ | t/src/extend_vtable.t:
21:17 dalek parrot/leto/embed_grant: [t] Parrot_PMC_inspect
21:17 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/80a277b237
21:25 dukeleto oh, dalek.
21:25 dalek parrot/leto/embed_grant: bc4be52 | dukeleto++ | t/src/extend_vtable.t:
21:25 dalek parrot/leto/embed_grant: [t] Parrot_PMC_inspect_str
21:25 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/bc4be52e0c
21:25 dalek parrot/leto/embed_grant: e8495b8 | dukeleto++ | t/src/extend_vtable.t:
21:25 dalek parrot/leto/embed_grant: [t] Parrot_PMC_morph
21:25 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/e8495b86f1
21:26 ambs left #parrot
21:29 bubaflub evening dukeleto
21:32 bluescreen left #parrot
21:33 cotto_work dukeleto: no complaints from you. You're raking in the karma.  50,000 and you get a free coffee at local coffee joint.
21:33 dukeleto bubaflub: howdy
21:33 dukeleto karma dukeleto
21:33 aloha dukeleto has karma of 710.
21:34 lucian left #parrot
21:37 * dukeleto has a long way to go for that free coffee
21:37 dalek parrot/leto/embed_grant: 970a59e | dukeleto++ | t/src/extend_vtable.t:
21:37 dalek parrot/leto/embed_grant: [t] Parrot_PMC_isa_pmc
21:37 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/970a59e8f4
21:37 dalek parrot/leto/embed_grant: 951c3d3 | dukeleto++ | t/src/extend_vtable.t:
21:37 dalek parrot/leto/embed_grant: [t] Parrot_PMC_init_pmc
21:37 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/951c3d3921
21:37 dalek parrot/leto/embed_grant: 9a2441c | dukeleto++ | t/src/extend_vtable.t:
21:37 dalek parrot/leto/embed_grant: [t] Parrot_PMC_set_pmc_keyed_str
21:37 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/9a2441c5e5
21:38 dukeleto cotto_work: i am trying to finish my TPF grant so I can dedicate more time to M0
21:41 soh_cah_toa joined #parrot
21:45 Psyche^ joined #parrot
21:48 bubaflub dukeleto: what's the target coverage %?
21:50 darbelo left #parrot
21:51 Patterner left #parrot
21:51 Psyche^ is now known as Patterner
21:53 dukeleto bubaflub: 95% on extend_vtable. I am very close to 90%, currently
21:53 dukeleto bubaflub: down to the really hard-to-test vtables
21:53 hercynium left #parrot
21:53 bubaflub dukeleto: doh
21:54 dalek parrot/leto/embed_grant: e42c748 | dukeleto++ | t/src/extend_vtable.t:
21:54 dalek parrot/leto/embed_grant: [t] Parrot_PMC_set_number_keyed_str
21:54 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/e42c74828f
21:54 dalek parrot/leto/embed_grant: edc217c | dukeleto++ | t/src/extend_vtable.t:
21:54 dalek parrot/leto/embed_grant: [t] Parrot_PMC_set_integer_keyed_str
21:54 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/edc217c5ac
22:10 dukeleto bubaflub: how is parrot-gmp coming along?
22:11 Coke_ left #parrot
22:11 Coke_ joined #parrot
22:21 bubaflub dukeleto: good.  i plan to have my whole nci2def definition file ready by Saturday
22:22 dukeleto bubaflub: awesome
22:23 dukeleto bubaflub: i recommend writing a few sentences of your weekly blog post throughout the week, so it doesn't seem like an onerous task
22:23 dukeleto bubaflub: it is less work to do that, than to stop and think "what did I do in the last week" once a week
22:23 bubaflub dukeleto: ok.  i've set aside Saturdays and Friday nights for major coding
22:23 dukeleto bubaflub: for me, anyway :)
22:23 bubaflub dukeleto: we actually do that type of thing at work - daily quick blog updates.
22:24 bubaflub dukeleto: yesterday i did, today i did, tomorrow i'll do...
22:24 Coke_ http://www.groklaw.net/articl​e.php?story=20110524120303815 groklaw article on CLAs.
22:27 dukeleto Coke++ # interesting read
22:30 dalek parrot/leto/embed_grant: c5e7208 | dukeleto++ | t/src/extend_vtable.t:
22:30 dalek parrot/leto/embed_grant: Correct our test plan
22:30 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/c5e7208a06
22:31 soh_cah_toa left #parrot
22:36 davidfetter left #parrot
22:56 dalek parrot/m0-prototype: d0f546f | cotto++ | src/m0/m0_assembler.pl:
22:56 dalek parrot/m0-prototype: fix label -> offset mapping
22:56 dalek parrot/m0-prototype:
22:56 dalek parrot/m0-prototype: It turns out that m0_labels_with_goto isn't supposed to be an infinite
22:56 dalek parrot/m0-prototype: loop.  It still runs with errors, but now it's not an infinite loop.
22:56 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/d0f546f28d
23:07 kid51 joined #parrot
23:10 whiteknight joined #parrot
23:11 cotto_work hio whiteknight
23:11 whiteknight hello cotto_work
23:20 dukeleto cotto_work: i just sent an email to parrot-dev about Parrot_PMC_invoke
23:20 dukeleto cotto_work: it returns a Parrot_Opcode*, and is the only Parrot_PMC* function that does this. Do you think this is on purpose?
23:27 whiteknight replied
23:29 cotto_work dukeleto: my first thought is to agree with whiteknight.
23:29 dukeleto cotto_work: which means?
23:30 cotto_work don't keep it
23:30 cotto_work It's hard to say whether it's on purpose.
23:31 whiteknight If the Parrot_PMC_destroy case is any indication, I don't think a lot of thought went into this list
23:31 dukeleto whiteknight: yeah, i agree. It was autogenerated and not combed over.
23:31 whiteknight maybe what we need is to add a :dont_extend flag to src/vtable.tbl, and not create extending wrappers for those ones
23:31 whiteknight instead of the hack I put together last night for Parrot_PMC_destroy
23:32 dukeleto whiteknight: and which I then hacked on more :)
23:32 cotto_work would a whitelist be better?
23:32 dukeleto does this need a deprecation? do I just rip it out?
23:35 cotto_work I'm learning toward ripping it out.
23:35 soh_cah_toa joined #parrot
23:35 contingencyplan left #parrot
23:36 cotto_work I don't think it'd be missed.
23:39 dukeleto hokey dokey
23:41 cotto_work hio soh_cah_toa
23:41 dalek parrot/leto/embed_grant: 9fe6f8e | dukeleto++ | t/src/extend_vtable.t:
23:41 dalek parrot/leto/embed_grant: Fix POD typo
23:41 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/9fe6f8e45f
23:41 dalek parrot/leto/embed_grant: 20f41fb | dukeleto++ | t/src/extend_vtable.t:
23:41 dalek parrot/leto/embed_grant: [t] Parrot_PMC_(get|set)_attr_keyed
23:41 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/20f41fbae3
23:41 dalek parrot/leto/embed_grant: 44a9634 | dukeleto++ | / (2 files):
23:41 dalek parrot/leto/embed_grant: Remove Parrot_PMC_invoke from the extend vtable API
23:41 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/44a9634f27
23:41 soh_cah_toa cotto_work: hey
23:51 cotto_work Eliminate or reduce the rate of that branch misprediction, and you can almost close the performance gap between an interpreter and a jitter, and thus debunk one of the greatest virtual machine myths of all - the blind faith in the use of jitting as a performance accelerator. - http://www.emulators.com/docs/nx25_nostradamus.htm
23:53 kid51 ugly looking blog
23:54 benabik joined #parrot
23:54 benabik ~~
23:58 benabik bacek_at_work: ping
23:59 ligne joined #parrot

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

Parrot | source cross referenced