|
Parrot 3.4.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today Set by moderator on 17 May 2011. |
|||
| 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 | |
| that's a personal preference. NotFound is in charge | |||
| dalek | rrot: a95f8c1 | Whiteknight++ | include/parrot/parrot.h: 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 | |
| lucian | whiteknight: i think precompiled pbcs might be a better choice | 00:02 | |
| whiteknight | thats what rosella does. Each file is compiled down to .pbc and combined with pbc_merge | 00:03 | |
| and for releases, I compile all the files down to .pir and cat them together | |||
| lucian | i have a suspicion the GC is also doing evil things on ARM | 00:04 | |
| whiteknight | very possible | ||
| lucian | hmm. not sure i can sell my x86 laptop anymore | 00:06 | |
| i was hoping to do all parrot work on this arm one | |||
| whiteknight | sort with .sort BUILTIN - 0.064494s - %100.000000 (%0.000000 diff) | 00:07 | |
| sort with Rosella Query - 0.044705s - %69.316506 (%-30.683494 diff) | |||
| I love when a prediction holds true | 00:08 | ||
| lucian | whiteknight: that looks fun | 00:10 | |
| what kind is each? | |||
| whiteknight | they're both quicksort | 00:12 | |
| the array is a pathological case in reverse sort order | |||
| so [10000, 9999, 9998, ... ] | 00:13 | ||
| lucian | right | ||
| so it's o(n*n) | |||
| whiteknight | right | ||
| both are choosing the middle element as pivot | |||
| both are using the same comparison routine | |||
| the only real difference is that one is calling nested runloops, the other isn't | 00:14 | ||
| lucian | don't know what those are | ||
| whiteknight | for the best | ||
| lucian | and the builtin is written in C? | ||
| whiteknight | yes | ||
| lucian | hmm | ||
| whiteknight | and the Rosella version is Winxed | ||
| lucian | i wonder what a jit would do | ||
| 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 | ||
| whiteknight | staying in one domain is best | ||
| lucian | yes, of course | ||
| whiteknight | yes, I look forward to hiting this with a JIT | ||
| cotto_work head home | |||
| lucian | ot | ||
| it's part of why i'd like to see parrot written in not-c | |||
| 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 | ||
| whiteknight | both should help | ||
| lucian | why bubble? that's sort of horrible even then | ||
| i'd expect insertion/selection to beat it every time | |||
| timsort might be interesting to write | 00:17 | ||
| whiteknight | bubble has great coefficients. If we keep the subarray size small it wins | ||
| lucian | hmm | ||
| 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 | ||
| lucian | i see | ||
| 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 en.wikipedia.org/wiki/Timsort a little funny | ||
|
00:18
soh_cah_toa joined
|
|||
| lucian | yes, a bench framework is great | 00:19 | |
| profiler might be even better | |||
| whiteknight | yes | 00:20 | |
| I keep looking at Introsort and Smoothsort | |||
| Introsort is basically quicksort minus pathologic behaviors, and Smoothsort is black magic that nobody understands | |||
| lucian | smoothsort i once delved in, don't remember if i understood it or not | 00:21 | |
| i also keep thinking that there's a ton of code out there written in java | 00:22 | ||
| whiteknight | Timsort does look intersting | ||
| lucian | it's a bit sad | ||
| yes, it is | |||
| whiteknight | N = 100000 | 00:23 | |
| sort with .sort BUILTIN - 12.228088s - %100.000000 (%0.000000 diff) | |||
| sort with Rosella Query - 8.108769s - %66.312648 (%-33.687352 diff) | |||
| I love this thing | |||
| lucian | heh | 00:24 | |
| it is pretty cool. and not quite so surprising | 00:27 | ||
| i'm no longer surprised at all when i see less native code beating more native code | |||
| whiteknight | considering that Parrot doesn't have a JIT and doesn't even have a "high performance" op dispatcher, this is interesting | 00:28 | |
| I'm not running an optimized Parrot now | |||
| so that might mean something | |||
| lucian | hmm, yes | ||
| although even so, it shouldn't mean that much | |||
| whiteknight | they both should get optimized. It depends how much each is | 00:29 | |
| I'll try now | |||
| the builtin version looks reasonably efficient | |||
| lucian | you might try to profile parrot while running each | 00:30 | |
| if the c-pir boundary is very slow to cross, that should be seen | 00:31 | ||
| pmichaud | whiteknight: just a note that Rakudo uses the built-in sort method on RPA. | 00:36 | |
| (the RPA only contains integers) | 00:37 | ||
| but it does always use a custom comparison routine | 00:38 | ||
| whiteknight | pmichaud: Use my version, save 30% | 00:39 | |
| it just won't be a method | |||
| pmichaud | well, we're trying to use less PIR, not more :) | ||
| 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 | ||
| whiteknight | I don't know if an NQP version would be faster if all the variables were autovivified and lexicallized, but it's possible | ||
| pmichaud | might be faster in the new nqp where lots of things aren't lexicalized | 00:41 | |
|
00:41
davidfetter left
|
|||
| whiteknight | results with an optimized parrot: | 00:41 | |
| N = 100000 | |||
| sort with .sort BUILTIN - 4.623765s - %100.000000 (%0.000000 diff) | |||
| sort with Rosella Query - 3.183849s - %68.858362 (%-31.141638 diff) | |||
| 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 | ||
| whiteknight | lucian: I'm sorting a ResizablePMCArray, not an integer array | 00:43 | |
| I'm sure if I did native ints that it would be faster | |||
| actually.... | |||
| pmichaud | I couldn't use native ints for some reason. | ||
| cotto | ~~ | ||
| 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? | ||
| okay, found the source -- where's the sort function? | 00:46 | ||
| whiteknight | src/util.c | ||
| Parrot_util_quicksort | |||
| pmichaud | no, I mean for Rosella | ||
| I know where the Parrot sort is. :-/ | |||
| 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 | ||
| in python, the same thing takes a couple of miliseconds | 00:48 | ||
| whiteknight: but of course, this is python's timsort vs parrot's quicksort | 00:49 | ||
| pmichaud | seems hard to fathom that a recursive quicksort in PIR could be faster than Parrot's builtin sort. | 00:50 | |
|
00:53
theory left
|
|||
| whiteknight | pmichaud: nested runloops are performance kilers | 00:58 | |
| killers | |||
| I don't know if you saw my benchmarks a few days ago to that effect | 00:59 | ||
| I was wrong, the RIA version of the sort is negligibly slower | 01:00 | ||
| so that's not an issue | |||
| dalek | sella: 9956192 | Whiteknight++ | src/query/Provider.winxed: fix conflict |
01:01 | |
| sella: 92a759d | Whiteknight++ | src/unstable/file/Constants.winxed: Add missing Constants file |
|||
| sella: 40c5d10 | Whiteknight++ | src/unstable/benchmark/Result.winxed: Add missing Result file |
|||
| sella: d61dfba | Whiteknight++ | .gitignore: Update .gitignore to know about .pasm files |
|||
| sella: 4d45227 | Whiteknight++ | src/winxed/Distutils.bootstrap.pir: update bootstrap distutils library to handle constants files |
|||
| sella: ba88049 | Whiteknight++ | benchmarks/query/sort.winxed: Add in the sort benchmark I've been using |
|||
|
01:03
lucian left
01:06
lucian joined
01:26
bubaflub left
|
|||
| cotto | dukeleto, ping | 01:50 | |
| benabik | whiteknight: Does your sort still win without a custom comparison function? | ||
| whiteknight | benabik: it only wins with a custom comparison | 01:51 | |
| if we use the built-in, pure-C comparisons, I lose by like 400% | |||
| benabik | whiteknight: Well that's "good". At least it's just the runloop killing us. | 01:54 | |
| ingy | sb end | 01:55 | |
| cotto | """"""good"""""" | ||
| ingy | O HAI o/ | ||
| cotto | hi ingy | ||
| dalek | sella: 5881809 | Whiteknight++ | src/unstable/file/directory/Iterator.winxed: remove directory iterators. We will use Walk/visitors instead |
01:58 | |
| sella: 4cba2b4 | Whiteknight++ | s (3 files): Remove Walker, move the walk code into the Directory namespace |
|||
| sella: 81c43dc | Whiteknight++ | src/unstable/file/ (3 files): FileList -> List. A few other fixes |
|||
|
01:59
whiteknight left
|
|||
| bacek_at_work | ~~ | 02:01 | |
| benabik, ping. | |||
| benabik | bacek_at_work: pong. | 02:03 | |
| bacek_at_work | benabik, how is you gsoc project going? | ||
| benabik | bacek_at_work: Pretty good, | 02:04 | |
| bacek_at_work | Sorry, I was quite busy with RL in past few days. | ||
| benabik, ok. Good news :) | |||
| benabik | Bah. Stupid phone. | ||
| bacek_at_work: I have all of PAST building from NQP, with liberal use of Q:PIR in the compiler | |||
| bacek_at_work | benabik, yeah, Compiler is a quite big beast. | 02:05 | |
| 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? | ||
| dalek | rrot/leto/embed_grant: 3dc8249 | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_is_equal_string |
02:07 | |
| benabik | bacek_at_work: It replaced the '%r' string constant with the register. | ||
| 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? | ||
| pmichaud | (when calling to a custom comparison function) | ||
| bacek_at_work | pmichaud, "runloops"? | ||
| pmichaud | bacek_at_work: indeed. | ||
|
02:08
lucian left
|
|||
| 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"... | ||
| benabik | bacek_at_work: Yes, to branch in my fork. | ||
| 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? | ||
| pmichaud, "a lot". Almost all Object's methods for example | |||
| pmichaud | ow ow ow | 02:10 | |
| and it's "expected" there also? as in, there aren't any plans to fix this? ;-) | |||
| 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) | ||
| bacek_at_work | pmichaud, I suspect so. | 02:17 | |
| pmichaud | looks like yes for vtable overrides | ||
| bacek_at_work | benabik, ok. Let's try to catch up tomorrow. Can be either morning of evening in SYD timezone | 02:18 | |
| aloha, clock? | |||
| 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 | ||
| bacek_at_work | benabik, ^^^ | 02:19 | |
| pmichaud | adding a :vtable('cmp') to my custom string class causes the quicksort to take 260% more time. | ||
| 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) | ||
| bacek_at_work | benabik, get more beers and don't worry till morning :) | ||
| pmichaud, whiteknight++ described this in his blog. | |||
| pmichaud | bacek_at_work: yes, I'm just verifying it for myself. | ||
| and quantifying it | |||
| and figuring out what that implies for rakudo | 02:21 | ||
| bacek_at_work | pmichaud, whiteknight.github.com/2011/05/10/t...rides.html | ||
| pmichaud, "very huge performance impact" | |||
| pmichaud | I wonder how far I can get by simply disabling most of rakudo's vtable overrides | 02:23 | |
| will try that in a bit | |||
| anyway, afk, walk | |||
| 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. | ||
| pmichaud | thanks for the pointer to the article -- hadn't seen it yet | ||
| bacek_at_work | benabik, ok :) | ||
| pmichaud | (it's in my reading queue... but that's been pretty full lately) | ||
| bacek_at_work | pmichaud, sounds familiar... | 02:24 | |
| 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:25 | |
| dalek | rrot/leto/embed_grant: 8923e21 | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_i_floor_divide |
02:26 | |
| rrot/leto/embed_grant: f69fe31 | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_i_floor_divide_float |
|||
| rrot/leto/embed_grant: 028299b | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_i_divide_int |
|||
| rrot/leto/embed_grant: 1cbdea9 | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_i_divide_float |
|||
| rrot/leto/embed_grant: d6726f8 | dukeleto++ | t/src/extend_vtable.t: Fix the Parrot_PMC_is_equal_string test |
|||
| rrot/pmc_mark: e8c864b | dukeleto++ | t/src/extend_vtable.t: Add a failing test for Parrot_PMC_mark This test coredumps Parrot, hard. |
02:27 | ||
|
02:37
tcurtis_ is now known as tcurtis
|
|||
| atrodo | article.gmane.org/gmane.comp.lang.l...eral/75426 | 02:47 | |
| bacek_at_work | dukeleto, Parrot_PMC_mark should be removed. For the same reason as VTABLE_destroy. It's GC internal functions. | 03:11 | |
|
03:35
theory joined
04:28
ShaneC joined
04:33
birdwindupbird joined
04:39
soh_cah_toa left
04:51
mtk left
04:59
mtk joined
05:28
preflex left
|
|||
| cotto | dukeleto, you'll like this I think | 05:29 | |
| dalek | rrot/m0-prototype: a54b74c | cotto++ | t/m0/ (5 files): give some m0 test files better names |
||
| rrot/m0-prototype: 3ff50b3 | cotto++ | src/m0/m0_assembler.pl: refactor the m0 assembler to make better error reporting possible |
|||
| rrot/m0-prototype: bad3451 | cotto++ | t/m0/m0_assembler.t: make m0 assembler tests also grab stderr, improve test names |
|||
| rrot/m0-prototype: 3253241 | cotto++ | src/m0/m0_assembler.pl: clean up error messages, fix version parsing bug - all tests pass! |
|||
|
05:30
preflex joined
|
|||
| dalek | rrot/m0-prototype: b05c77c | cotto++ | / (2 files): fix variables parsing bug, untodo a passing test |
05:35 | |
| cotto | It's hard to choose between sleeping and implementing labels. | ||
| I'll do both. | |||
|
05:44
fperrad joined
05:52
ShaneC left
|
|||
| dukeleto | cotto++ # m0 awesomesauce | 05:53 | |
| bacek_at_work: works for me. | 05:54 | ||
| atrodo: that is quite an interesting luaJIT link. Very nice ascii diagrams | 05:57 | ||
| bacek_at_work: what about Parrot_PMC_inspect and Parrot_PMC_morph ? Should those be exported still? | 06:01 | ||
| cotto | dukeleto, thanks | 06:02 | |
| dalek | rrot/m0-prototype: 710b1e3 | cotto++ | / (4 files): add basic label-awareness to the m0 assembler This only allows labels to be parsed as location markers, not used in ops. |
||
| cotto | pretty good for sleepcoding | ||
| making labels usable will be a bit more tricky | 06:03 | ||
| dukeleto, it'd be awesome if you could whip up a test to run all files in t/m0/ops | |||
| I think they should all output tap | |||
| if not, I'll make them | |||
| dukeleto | cotto: sure. | 06:04 | |
| cotto: also, take a look at www.reddit.com/r/programming/commen...64/c0lrus0 (if you haven't). There is some very interesting stuff there that is relevant to M0 and parrot | |||
| cotto: which was linked to from the link atrodo++ pasted: article.gmane.org/gmane.comp.lang.l...eral/75426 | 06:05 | ||
| 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 :) | ||
| cotto | though it'll be easier to write a super-optimized interp for M0 | ||
| dukeleto | cotto: someone could build an M0 compiler that targetted x86 asm, if they really wanted | ||
| 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 | ||
| sorear | cotto: any solution that does not involve custom hardware and $1M in mask fabrication costs is slower than necessesary | ||
| 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
|
|||
| cotto | dukeleto, yes. Otherwise we wouldn't have ripped out the jit. | 06:09 | |
| 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 | ||
| cotto | dukeleto, I don't know why we thought it was a good idea to expose that in the first place. | 06:11 | |
| +1 | |||
| dukeleto | cotto: [A-z] ~ [a-zA-z] | ||
| cotto: it leaked | |||
| cotto: our extend_vtable code is set up to export anything that is not explicitly disallowed | 06:12 | ||
| cotto: i guess i should have used ~~ | |||
| sorear | cotto: <.ident>? | ||
| cotto | sorear, in perl 5? | ||
| dukeleto | there may be something like that in Perl 5 | ||
| cotto | that'd be most welcome | ||
| sorear | cotto: [[:alpha:]]\\w+ | 06:13 | |
| dukeleto | cotto: that regex is very similar to what is a valid perl 5 variable name | ||
| cotto | sorear, wfm | ||
| sorear++ | |||
| 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:14 | |
| sorear | _mark is a critical part of the extending API | 06:15 | |
| if you're writing dynpmcs, _mark is critical, otherwise it's useless | |||
| (barring corner-ish cases like 6model) | |||
| 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 ? | ||
| 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 | ||
| dukeleto | Rakudo does not use Parrot_PMC_mark | ||
| 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:20 | |
| mm, Rakudo uses Parrot_gc_mark_PMC_alive | 06:21 | ||
| bacek_at_work | sorear, it's within inside parrot. Not from extend/embed API | 06:48 | |
| dalek | rrot: cd1edef | dukeleto++ | / (3 files): Don't export Parrot_PMC_mark |
06:55 | |
| cotto | The m0 interp can now run an infinite loop. | 07:23 | |
| sorear | \\o/ | 07:24 | |
|
07:25
mj41 joined
|
|||
| dalek | rrot/m0-prototype: f679a3a | cotto++ | src/m0/m0_assembler.pl: add label support to goto and goto_if in the most hacky way possible |
07:27 | |
| rrot/m0-prototype: fa5ad1c | cotto++ | src/m0/m0_assembler.pl: make goto target calculations be less broken |
|||
| rrot/m0-prototype: 9a0b7d6 | cotto++ | src/m0/m0_assembler.pl: fix thinko in goto_if processing |
|||
| rrot/m0-prototype: f36a8db | cotto++ | src/m0/m0_interp.pl: make goto* use immediate values for calculating target address M0 can now run an infinite loop! Try it at home! perl src/m0/m0_assembler.pl t/m0/ops/m0_labels_with_goto.m0 perl src/m0/m0_interp.pl t/m0/ops/m0_labels_with_goto.m0b |
|||
| cotto | I'm having trouble spelling "debugger", so I should probably goto sleep. | 07:28 | |
| 'night | |||
| msg dukeleto If finite loops aren't good enough for you, take a look at github.com/parrot/parrot/commit/f36a8dbb49 . | 07:30 | ||
| aloha | OK. I'll deliver the message. | ||
| dalek | rrot: 5dd8c54 | mikehh++ | MANIFEST.SKIP: re-generate MANIFEST.SKIP |
07:59 | |
| mikehh | still getting intermittent failures with t/pmc/threads.t - Failed test: 9 - Segmentation fault in testf (PASSes on re-run) | 08:44 | |
|
08:54
daniel-s joined
|
|||
| daniel-s | hello | 08:54 | |
| is there a text editor with syntax highlighting for pir? | |||
|
09:00
daniel-s left
09:01
daniel-s joined
|
|||
| tadzik | vim, emacs | 09:12 | |
| I think Parrot is shipping some syntax files | |||
|
10:16
daniel-s_ joined
10:20
daniel-s left
10:44
gbacon joined
11:00
darbelo left
11:23
contingencyplan left
11:25
dodathome joined
11:55
darbelo joined
12:01
darbelo left
12:07
darbelo joined
12:08
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 12:17 | |
|
12:33
birdwindupbird left
12:55
ambs joined
13:16
bubaflub joined
13:34
JimmyZ joined,
bacek left
13:58
daniel-s_ left
|
|||
| whiteknight | extremely interesting read about performance of high-level languages vs assembly: www.seas.gwu.edu/~adagroup/sigada-w...awlis.html | 14:07 | |
|
14:21
ambs left
|
|||
| dukeleto | ~~ | 14:42 | |
|
14:52
theory joined
|
|||
| cotto | ~~ | 14:53 | |
|
14:57
hercynium joined
15:12
davidfetter joined
15:13
davidfetter_ joined
|
|||
| dalek | sella: b51affe | Whiteknight++ | README.md: update README with the current list of stable libraries. Remove the list of unstable libraries because it's too variable |
15:13 | |
| dukeleto | whiteknight: good read | 15:14 | |
| 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. | ||
| dalek | sella: 80f5c98 | Whiteknight++ | setup.winxed: fix filename which was renamed late last night so that we build |
15:17 | |
| bubaflub | ~ | ||
|
15:18
davidfetter left,
davidfetter_ is now known as davidfetter
15:20
theory left
|
|||
| dukeleto | Image analysis buffs may be interested in this: www.kaggle.com/c/mdm | 15:21 | |
| cotto: what exactly is your question about CPS+lexicals? | 15:25 | ||
|
15:32
JimmyZ__ joined
|
|||
| davidfetter | dukeleto, pretty cool :) | 15:33 | |
| dukeleto, so i just had another crazy idea | 15:34 | ||
|
15:34
JimmyZ left
15:35
JimmyZ__ is now known as JimmyZ
|
|||
| davidfetter | they just went and sold the first quantum computer recently | 15:35 | |
| so i'm thinking that damien's idea behind Quantum::Superpositions could get some extensions | 15:36 | ||
| especially in postgresql's query planner ;) | |||
| dukeleto | davidfetter: could be fun | 15:42 | |
| cotto_work | ~~ | 15:44 | |
| dukeleto: you looking at my gist? | |||
| dukeleto | cotto_work: you know it | ||
| Rubinius is doing some very interesting community organizing stuff: rubini.us/2011/05/26/rubinius-rewards/ | 15:45 | ||
| davidfetter | yeah :) | 15:46 | |
|
15:46
bluescreen joined
15:48
JimmyZ left
|
|||
| cotto_work | dukeleto: that's a question I need to think carefully about how to articulate/ | 15:50 | |
| . | |||
|
15:54
mj41 left
|
|||
| dukeleto | cotto_work: sounds good. My question is to help you articulate :) | 15:57 | |
|
15:59
theory joined
|
|||
| whiteknight | www.phpsadness.com/ | 16:42 | |
| benabik | whiteknight: Thanks. Now I have a reference to point to when I say I hate PHP. | 16:45 | |
| cotto_work | whiteknight: nice | 16:46 | |
| dukeleto | Moose is doing very cool stuff with their "deprecation data": | 16:50 | |
| Moose's conflict checking is more robust and useful | |||
| 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. | |||
| from search.cpan.org/~flora/Moose-2.0007.../Delta.pod | |||
| that is pretty damn shiny. | |||
|
17:01
dodathome left
|
|||
| dalek | sella: 044b525 | Whiteknight++ | t/harness: Add t/string to the harness, so we actually run those tests |
17:06 | |
| sella: cf22acb | Whiteknight++ | src/unstable/file/File.winxed: fix File.exists method and condense open methods. The File class passes most quick tests I throw at it |
17:07 | ||
| sella: 913714a | Whiteknight++ | src/unstable/file/ (2 files): Add quick get_string methods to File and Directory |
|||
|
17:08
darbelo left
17:27
ambs joined
17:36
darbelo joined
18:01
ambs left
18:17
contingencyplan joined
18:24
dmalcolm joined
|
|||
| baest | 9 | 18:33 | |
| whoops, sorry | |||
| davidfetter | baest, cat on keyboard? | 18:35 | |
| baest | davidfetter: even worse, backspace too close to the enter key | 18:36 | |
| davidfetter | d'oh | ||
| baest | :) | 18:37 | |
|
18:37
lucian joined
|
|||
| Coke_ | can someone block recruiter.akshay@gmail.com on all the parrot lists? kthanksbye. | 18:42 | |
| msg whiteknight - can someone block recruiter.akshay@gmail.com on all the parrot lists? thanks. | 18:43 | ||
| aloha | OK. I'll deliver the message. | ||
| 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. | ||
| davidfetter | recruiters are like used car salesmen | ||
| whiteknight | are we getting email from him? | ||
| davidfetter | ...only the salesmen actually put you in a car | ||
| whiteknight | I haven't seen any mails from him. What list is he on? | ||
| Coke_ | whiteknight: he's spamming parrot-dev | 18:45 | |
| (perhaps it's just via googlegroups) | 18:46 | ||
| <parrot-dev.googlegroups.com> Filter messages from this mailing list | |||
| whiteknight | I don't think I'm an admin on googlegroups | 18:48 | |
| 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 | ||
| idiots-- | |||
| Coke_ | there. banned this guy. | 18:50 | |
| whiteknight: what's your preferred email addy? | |||
| msg kid51 nevermind, it was via google groups, I banned him there. | 18:51 | ||
| aloha | OK. I'll deliver the message. | ||
| Coke_ | whiteknight: I can make you an owner there too. right now it's me & allison. | 18:52 | |
| whiteknight | If I may ask, since I've never used google groups for this before, why do we have this? | 18:59 | |
|
19:00
ambs joined
|
|||
| Coke_ | some people prefer this method to interact with mailing lists. | 19:01 | |
| gives us more visiblity. | |||
| whiteknight | okay, fair enough | 19:02 | |
| is it only parrot-dev on there, or more of our lists? | |||
| Coke_ | good question; don't know. | 19:06 | |
| I would imagine parrot-users might make sense there; directors or legal or anything like that would not. | |||
| whiteknight | yeah | 19:09 | |
| 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 | ||
| I am sick and tired of these stupid nigerian prince bullshit emails | |||
|
19:24
ShaneC joined
|
|||
| whiteknight | I also think about replying to some of these emails: "Dear Mr. [X], You're a jerk. Sincerely, Andrew" | 19:25 | |
| but then they would have my personal email address in addition to the list address | 19:26 | ||
|
19:26
ShaneC left
|
|||
| whiteknight | Also, I would block every email that contains the symbol "ļæ½" | 19:27 | |
| "Seven million three hundred United States of American dollars only (7,300,000.00ļæ½)" | |||
| "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 | ||
| "P.S. You're a jerk" | |||
|
19:34
PacoLinux left
|
|||
| cotto_work | I have "ļæ½" in my build path. | 20:24 | |
| whiteknight | do you really? | ||
| cotto_work | perl Configure.pl --prefix=/usr/local/ļæ½/parrot | ||
| whiteknight | really really really? | ||
| cotto, I formally accuse you of being a nigerian scammer | 20:25 | ||
| cotto_work | no, but I'm tempted to try it now | ||
| benabik | Colloquy really doesn't like whatever symbol y'all are using. | ||
| cotto_work | euro symbol | 20:26 | |
| benabik | Don't boot me but keeps saying "[incompatible encoding]" | ||
| � | |||
|
20:28
whiteknight left
|
|||
| 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 | ||
| 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 | ||
| ? | |||
| 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
20:43
fperrad left
20:52
bluescreen left
20:57
benabik left
|
|||
| dalek | rrot/leto/embed_grant: cd1edef | dukeleto++ | / (3 files): Don't export Parrot_PMC_mark |
21:00 | |
| rrot/leto/embed_grant: 5dd8c54 | mikehh++ | MANIFEST.SKIP: re-generate MANIFEST.SKIP |
|||
| rrot/leto/embed_grant: 048156b | dukeleto++ | / (5 files): Merge branch 'master' into leto/embed_grant |
|||
| rrot/leto/embed_grant: 983e276 | dukeleto++ | t/src/extend_vtable.t: Remove antiquated comments |
|||
| rrot/leto/embed_grant: d41c2da | dukeleto++ | t/src/extend_vtable.t: [t] Fix Parrot_PMC_i_floor_divide test |
|||
| rrot/leto/embed_grant: b2db6d4 | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_i_floor_divide_int |
21:01 | ||
| rrot/leto/embed_grant: 7289594 | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_modulus_int |
|||
| rrot/leto/embed_grant: 2722766 | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_modulus_float |
|||
| rrot/leto/embed_grant: 334b8d1 | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_i_modulus_float |
|||
| rrot/leto/embed_grant: 2138979 | dukeleto++ | t/src/extend_vtable.t: Correct our test plan |
|||
|
21:06
bluescreen joined
21:09
darbelo left,
darbelo joined
|
|||
| dalek | rrot/leto/embed_grant: 5ec95d9 | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_isa and Parrot_PMC_getprops |
21:16 | |
| rrot/leto/embed_grant: d2b1bbe | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_init |
|||
| rrot/leto/embed_grant: f2c946a | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_init_int |
|||
| rrot/leto/embed_grant: 8082601 | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_name |
|||
| rrot/leto/embed_grant: 80a277b | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_inspect |
|||
| dukeleto | oh, dalek. | 21:25 | |
| dalek | rrot/leto/embed_grant: bc4be52 | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_inspect_str |
||
| rrot/leto/embed_grant: e8495b8 | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_morph |
|||
|
21:26
ambs left
|
|||
| bubaflub | evening dukeleto | 21:29 | |
|
21:32
bluescreen left
|
|||
| 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 | ||
| karma dukeleto | |||
| aloha | dukeleto has karma of 710. | ||
|
21:34
lucian left
|
|||
| dukeleto has a long way to go for that free coffee | 21:37 | ||
| dalek | rrot/leto/embed_grant: 970a59e | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_isa_pmc |
||
| rrot/leto/embed_grant: 951c3d3 | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_init_pmc |
|||
| rrot/leto/embed_grant: 9a2441c | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_set_pmc_keyed_str |
|||
| dukeleto | cotto_work: i am trying to finish my TPF grant so I can dedicate more time to M0 | 21:38 | |
|
21:41
soh_cah_toa joined
21:45
Psyche^ joined
|
|||
| bubaflub | dukeleto: what's the target coverage %? | 21:48 | |
|
21:50
darbelo left
21:51
Patterner left,
Psyche^ is now known as Patterner
|
|||
| dukeleto | bubaflub: 95% on extend_vtable. I am very close to 90%, currently | 21:53 | |
| bubaflub: down to the really hard-to-test vtables | |||
|
21:53
hercynium left
|
|||
| bubaflub | dukeleto: doh | 21:53 | |
| dalek | rrot/leto/embed_grant: e42c748 | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_set_number_keyed_str |
21:54 | |
| rrot/leto/embed_grant: edc217c | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_set_integer_keyed_str |
|||
| dukeleto | bubaflub: how is parrot-gmp coming along? | 22:10 | |
|
22:11
Coke_ left,
Coke_ joined
|
|||
| bubaflub | dukeleto: good. i plan to have my whole nci2def definition file ready by Saturday | 22:21 | |
| dukeleto | bubaflub: awesome | 22:22 | |
| 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 | ||
| bubaflub: it is less work to do that, than to stop and think "what did I do in the last week" once a week | |||
| bubaflub | dukeleto: ok. i've set aside Saturdays and Friday nights for major coding | ||
| dukeleto | bubaflub: for me, anyway :) | ||
| bubaflub | dukeleto: we actually do that type of thing at work - daily quick blog updates. | ||
| dukeleto: yesterday i did, today i did, tomorrow i'll do... | 22:24 | ||
| Coke_ | www.groklaw.net/article.php?story=2...4120303815 groklaw article on CLAs. | ||
| dukeleto | Coke++ # interesting read | 22:27 | |
| dalek | rrot/leto/embed_grant: c5e7208 | dukeleto++ | t/src/extend_vtable.t: Correct our test plan |
22:30 | |
|
22:31
soh_cah_toa left
22:36
davidfetter left
|
|||
| dalek | rrot/m0-prototype: d0f546f | cotto++ | src/m0/m0_assembler.pl: fix label -> offset mapping It turns out that m0_labels_with_goto isn't supposed to be an infinite loop. It still runs with errors, but now it's not an infinite loop. |
22:56 | |
|
23:07
kid51 joined
23:10
whiteknight joined
|
|||
| cotto_work | hio whiteknight | 23:11 | |
| whiteknight | hello cotto_work | ||
| dukeleto | cotto_work: i just sent an email to parrot-dev about Parrot_PMC_invoke | 23:20 | |
| cotto_work: it returns a Parrot_Opcode*, and is the only Parrot_PMC* function that does this. Do you think this is on purpose? | |||
| whiteknight | replied | 23:27 | |
| cotto_work | dukeleto: my first thought is to agree with whiteknight. | 23:29 | |
| dukeleto | cotto_work: which means? | ||
| cotto_work | don't keep it | 23:30 | |
| It's hard to say whether it's on purpose. | |||
| 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. | ||
| whiteknight | maybe what we need is to add a :dont_extend flag to src/vtable.tbl, and not create extending wrappers for those ones | ||
| instead of the hack I put together last night for Parrot_PMC_destroy | |||
| dukeleto | whiteknight: and which I then hacked on more :) | 23:32 | |
| cotto_work | would a whitelist be better? | ||
| dukeleto | does this need a deprecation? do I just rip it out? | ||
| cotto_work | I'm learning toward ripping it out. | 23:35 | |
|
23:35
soh_cah_toa joined,
contingencyplan left
|
|||
| cotto_work | I don't think it'd be missed. | 23:36 | |
| dukeleto | hokey dokey | 23:39 | |
| cotto_work | hio soh_cah_toa | 23:41 | |
| dalek | rrot/leto/embed_grant: 9fe6f8e | dukeleto++ | t/src/extend_vtable.t: Fix POD typo |
||
| rrot/leto/embed_grant: 20f41fb | dukeleto++ | t/src/extend_vtable.t: [t] Parrot_PMC_(get|set)_attr_keyed |
|||
| rrot/leto/embed_grant: 44a9634 | dukeleto++ | / (2 files): Remove Parrot_PMC_invoke from the extend vtable API |
|||
| soh_cah_toa | cotto_work: hey | ||
| 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. - www.emulators.com/docs/nx25_nostradamus.htm | 23:51 | |
| kid51 | ugly looking blog | 23:53 | |
|
23:54
benabik joined
|
|||
| benabik | ~~ | 23:54 | |
| bacek_at_work: ping | 23:58 | ||
|
23:59
ligne joined
|
|||