Parrot 2.6.0 | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | fix 'make html' (talk to Coke), update tutorial (talk to tcurtis)
Set by moderator on 21 July 2010.
00:03 dduncan joined
cotto_work dukeleto (whenever you see this): do you know if any import of Parrot's svn repo to git will have the same revision hash values or if that's specific to the import? 00:11
00:14 dduncan left 00:22 jevin joined 00:28 jevin joined
particle cotto_work: the hash values are deterministic 00:29
they must be the same, as they're generated from the file contents 00:30
cotto_work That's what I'd expect. 00:31
sorear it does, though, depend on the parameters of the conversion
if a different mailmap file is used, the hash will come ou differently
01:08 plobsing joined
dukeleto cotto_work: if an import starts on the same revision and uses the same import parameters (like mailmap and a few others) then I beleive the hash values are the same 01:33
01:46 ruoso joined 01:51 chromatic joined
chromatic msg plobsing Suppose we had a mechanism to unpack PackFile constants lazily. 01:52
purl Message for plobsing stored.
plobsing chromatic: that seems doable
chromatic ping, I suppose 01:53
some 28.75% of Rakudo's startup time is unpacking constants.
plobsing already? I thought it wasn't using constants heavily.
chromatic 25,391 of them by my count. 01:54
almost 18k strings and the rest PMCs
plobsing that does seem like a lot. I doubt they are deep though. How many are non-subs? 01:55
and non-FIA
chromatic That I can't tell you offhand.
plobsing FIA and Sub are (in my completely unsupported-by-facts opinion) likely the bulk of the PMCs thawed and they don't recurse much. 01:57
chromatic You're probably right.
plobsing we could still have a look at it though. Do we let the GC know we're allocating a ton of things that won't become free before it runs out of memory while we thaw? 01:58
strings that is (I know we do for PMC) 01:59
chromatic 22,422 Subs thawed, 19,436 LexInfos thawed, 5,801 Keys thawed, 7,501 Strings thawed, 691 FIAs thawed, 135 FPAs thawed.
Parrot_thaw_pbc suspends the GC. 02:00
plobsing but what about for strings?
oh
nm
those LexInfos could get heavy. 02:02
dukeleto would love some feedback on news.perlfoundation.org/2010/08/201...posal.html
02:07 bacek joined
plobsing actually, lazily decoding the const table seems pretty easy. I've got half of a patch already. Should be done sometime tonight. 02:17
doing it right might be a little tougher
chromatic It seemed straightforward, if we have good encapsulation now. 02:19
02:19 kid51 joined
kid51 Smolder down? 02:20
Could not upload report to Smolder at smolder.plusthree.comHTTP CODE: 500 (Can't connect to smolder.plusthree.com:80 (connect: Connection refused))
dalek rrot: r48254 | jkeenan++ | branches/tt1725_headerizer_documentation/t/perl/testlib/imcc.y:
Add a dummy file for testing headerizer.
02:21
rrot: r48255 | jkeenan++ | branches/tt1725_headerizer_documentation/t/perl/testlib/dummy_imcc.y:
Make filename self-documenting.
rrot: r48256 | jkeenan++ | branches/tt1725_headerizer_documentation (2 files):
Change name of file when mentioned inside. Add to MANIFEST.
purl dalek: that doesn't look right
rrot: r48257 | jkeenan++ | branches/tt1725_headerizer_documentation/tools/build/headerizer.pl:
Move declaration of main() toward top of file.
rrot: r48258 | jkeenan++ | branches/tt1725_headerizer_documentation (2 files):
A little refactoring as we get started writing tests.
02:22 khairul joined
kid51 dukeleto: I'm sure someone will ask: Why should the Perl Foundation fund a Parrot proposal? Why shouldn't the Parrot Foundation do that? (Now we know that PaFo hasn't bothered to raise any money yet, but ... ) 02:23
chromatic Looks like the ImageIO PMC's mark() should mark its constant table. 02:24
plobsing One pitfall is that constants are variably sized in PBC. I'll have to scan linearly for each constant on the first lookup. It'll be more costly, but it'll be amortized better. 02:25
If and when that becomes a packfile pmc, sure. But it should be being held live by other sources. 02:26
Coke msg chandon - I don't think the SDL examples have been maintained. 02:33
purl Message for chandon stored.
Coke kid51: because Rakudo sits on top of parrot.
so the Perl 6 implementation with the biggest mindshare ATM would benefit. 02:34
As a GC member, I'd certainly consider a parrot-will-help-rakudo grant proposal.
kid51 Coke: I'm not disagreeing. I'm just trying to avert a possible objection. 02:37
dalek rrot: r48259 | jkeenan++ | branches/tt1725_headerizer_documentation/t/perl/testlib/dummy_imcc.y:
Start to trim down this dummy copy file to a more reasonable length.
02:38
chromatic plobsing, is it alive during thaw? 02:41
plobsing yes. it is the constant table of the currently-decoding bytecode 02:43
it's a bit of a hack to allow for backreferences to previous constant strings in the const table
02:44 TiMBuS joined
sorear does any other implementation have any significant mindshare *at all*? 02:44
plobsing How much does allocating 1 small malloced object per constant cost us? 02:50
seems like it could be an easy win to consolodate those into one big allocation 02:51
dalek rrot: r48260 | plobsing++ | branches/dynop_mapping (129 files):
sync with trunk
02:54
Coke sorear: one hates to presume. 02:56
especially when one is both on the TPF GC and the PaFo board. ;) 02:57
khairul cotto: ping 02:58
cotto khairul, pong 03:00
03:01 janus joined 03:03 Austin joined
dalek rrot: r48261 | khairul++ | branches/gsoc_instrument/src/dynpmc (6 files):
Refactored runcore functions out of Instrument.pmc
03:11
rrot: r48262 | khairul++ | branches/gsoc_instrument/src/dynpmc/instrumentstubbase.pmc:
Updated get_hook_list to return a STRING* instead.
03:28
rrot: r48263 | khairul++ | branches/gsoc_instrument/src/dynpmc/instrumentop.pmc:
Updated to initialise using an Instrument instance.
rrot: r48264 | khairul++ | branches/gsoc_instrument/src/dynpmc (3 files):
Updated method instrumentation.
03:29
rrot: r48265 | khairul++ | branches/gsoc_instrument/src/pmc/pointer.pmc:
Reverted previous change to pointer.pmc.
rrot: r48266 | khairul++ | branches/gsoc_instrument/tools/build (2 files):
Updated generator scripts.
rrot: r48267 | khairul++ | branches/gsoc_instrument/src/dynpmc (2 files):
Regenerated stub functions.
rrot: r48268 | khairul++ | branches/gsoc_instrument/t (7 files):
Updated test cases
rrot: r48269 | khairul++ | branches/gsoc_instrument (6 files):
Updated runtime library
chromatic Every so often, a malloc has to reinvent apple pie and costs a lot. 03:33
Hm, why use an UnManagedStruct to hold the const table for ImageIO? Why not just use set_pointer() instead? 03:35
dalek rrot: r48270 | khairul++ | branches/gsoc_instrument/MANIFEST:
Updated manifest.
03:45
03:48 jsut joined
dalek rrot: r48271 | khairul++ | branches/gsoc_instrument/config/gen/makefiles/root.in:
Fixed build order
04:01
04:20 tcurtis joined 04:22 jsut joined, Austin joined, janus joined, TiMBuS joined, bacek joined, chromatic joined, ruoso joined, plobsing joined, Patterner joined, workbench joined, dngor joined, estrabd joined, cotto_work joined, cxreg joined, davidfetter joined, zostay joined, preflex joined, NotFound joined, s1n joined, Coke joined, mikehh joined, snarkyboojum joined, jan joined, hudnix joined, contingencyplan joined, baest joined, dalek joined, simcop2387 joined, cognominal joined, AzureStone joined, jjore joined, pmichaud joined, Util joined, PerlJam joined, dukeleto joined, mj41 joined, japhb joined, slavorg joined, slavorgn joined, nopaste joined, NOTevil joined, ttbot joined, kthakore joined, ingy joined, elmex joined, KatrinaTheLamia joined, Essobi joined, Hunger joined, Ryan52 joined, szabgab joined, cotto joined, sjn joined, silug joined, knewt joined, spinclad joined, cosimo joined, rblackwe joined, jnthn joined, moritz joined, TimToady joined, ascent joined, bacek_at_work joined, athomason joined, jhelwig joined, treed joined, TonyC joined, purl joined 04:41 Chandon joined
tcurtis Tree::Optimizer.run(:combine(1)) is implemented!. \\o/ 04:45
04:49 LoganLK joined
dalek rrot: r48272 | chromatic++ | trunk/src/pmc_freeze.c:
[freeze] Tidied code; no functional changes.
04:51
rrot: r48273 | chromatic++ | trunk/src (2 files):
[PMC] Added set_pointer to ImageIO PMC.

store a PackFile_ConstTable pointer in the ImageIO PMC.
04:58 petdance joined 05:15 chromatic joined
nopaste "plobsing" at 192.168.1.3 pasted "[PATCH] Contiguous Constant Table" (5259 lines) at nopaste.snit.ch/22522 05:22
plobsing That appears to shave 2% off of './perl6 -e "say qq{Hello World}" >/dev/null' 05:23
worthwhile?
other benchmarks I should do?
chromatic I thought it'd be more, but let me finish up a couple of things here.
Are you testing with Callgrind or wallclock?
plobsing perl -MBenchmark -e 'Benchmark::cmpthese(100, {map {my $x = $_; $x => sub { `cd $x; ./perl6 -e "say qq{Hello World}" >/dev/null` }} ("rakudo", "rakudo-new")})'
chromatic Too much jitter in that one for my tastes. 05:24
plobsing How should I be testing?
chromatic alias cg='time valgrind --tool=callgrind --dump-instr=yes --trace-jump=yes' 05:25
cg ./perl6 hi.p6
That's what I use.
plobsing btw, that's not the lazy constants we were talking about. That's just not making a zillion tiny objects for constants.
chromatic Oh, the malloc coalescing. Very nice.
I have 2.4% improvements here so far in another part of the code, with another possibility. 05:26
Total improvement, 2.78%. 05:31
plobsing OK, I've run the vallgrind. Now what? 05:32
chromatic Compare the instruction counts. 05:33
==4030== Events : Ir
==4030== Collected : 1682101191
The latter number is important.
05:34 theory joined
plobsing the counts differ by only 0.4% in favour of the new code 05:34
all that work for 0.4% 05:35
chromatic The new code *looks* better though. 05:36
It's probably cache friendlier too.
plobsing yes. many fewer dereferences. 05:38
chromatic A modest little improvement in instruction counts but cleaner code and fewer dereferences is a clear benefit, if it passes all tests. 05:39
dalek rrot: r48274 | chromatic++ | trunk/src/hash.c:
[hash] Added get_hash_val().

speeds up the Rakudo startup benchmark by 1%.
05:40
rrot: r48275 | chromatic++ | trunk/src/hash.c:
[hash] Used more get_hash_val().
rrot: r48276 | chromatic++ | trunk/src/hash.c:
[hash] Added more get_hash_val().
chromatic I still think typed hashes are another 3% win.
plobsing Typed hashes where?
chromatic Instead of every hash struct being a bag full of function pointers, invert them. 05:44
Have a string hash, an int hash, etc.
All of a sudden things like string hashing and comparison are inlinable. 05:45
plobsing It wouldn't be too hard to hide those typed hashes behind the parrot_new_*_hash functions. 05:48
05:49 preflex joined
chromatic Right, we're just moving the ad hoc polymorphic dispatch elsewhere in our system. 05:49
plobsing I do doubt however, that string comparison is significantly inlinable. Don't we have string operation indirection to support different encodings? 05:55
dalek rrot: r48277 | plobsing++ | trunk (22 files):
Coallesce PackFile_Constant allocations into an array held in PackFile_ConstTable.
05:57
chromatic There are eight ways to short circuit the comparisons. 06:09
We can't inline the most expensive ones, but we can inline the least expensive ones. 06:10
petdance Boy, I leave Parrot alone for a few weeks, and peopel try to sneak in const fudging! 06:12
plobsing If you're complaining about the consts I deleted, they were causing warnings. 06:13
dalek rrot: r48278 | plobsing++ | trunk (2 files):
remove now unused PackFile_Constant constructor and destructor
rrot: r48279 | petdance++ | trunk/tools/dev/pbc_to_exe.pir:
bytecode_size should be expressed as size_t, not int
petdance "causing warnings" is not a problem.
plobsing it is if you use vim and ':cn' to step through your build
petdance Then other things need to be changed rather than throwing away consts.
plobsing fair enough. I dislike warnigns about "unsafe casts" however. 06:15
petdance Throwing away consts is a short-term solution.
I dislike those warnings, too.
But then there are better solutions than pretending they don't exist. 06:16
I don't know what specifically you changed, and I'm not pointing at anyone.
I just know that I tried to build today and I barf on src/hash.c
plobsing that wasn't me.
petdance Not realy interested in who. 06:17
Just want to fix it.
g++ is more stringent and I build under g++ because it makes sure everything isconst corect
plobsing is there any way to create a string from a C buffer without copying? I promise to not change it underneath parrot. 06:18
chromatic We had one, but I think someone removed it.
plobsing We copy every constant to a temporary string before thawing it to PBC. Just seems wasteful. 06:19
s/PBC/PMC/ 06:20
06:21 uniejo joined
chromatic I fixed that a few months ago. 06:22
I think immutable strings undid it.
Though I seem to remember thinking "This is possible now we have immutable strings." 06:23
One of the STRING flags, PObj_external_FLAG I think, used to note that Parrot didn't control the underlying buffer storage. 06:24
petdance but now we don't have that any more, I think.
ok, we do 06:25
plobsing yes. just found it. looks like it might do the trick
dalek rrot: r48280 | petdance++ | trunk/config/gen/makefiles/root.in:
add a "tags" target because I always forget what the tags target really is
06:30
tracwiki: v9 | cotto++ | KhairulGSOC2010Schedule 06:32
tracwiki: trac.parrot.org/parrot/wiki/Khairul...ction=diff
petdance plobsing: So what DID you unconst? I don't have any bummers other than src/hash.c. 06:38
plobsing some stuff in imageio.pmc IIRC 06:39
06:42 AndyA joined
plobsing petdance: C++ question - how do I write initializers for mutually referential static objects? gcc says predeclaration isn't valid in C++. 06:42
petdance dunno off hand.
i'm about to head to bed.
ask me tomorrow?
06:43 ruoso joined
dalek rrot: r48281 | petdance++ | trunk/src/hash.c:
put back proper consting
06:47
06:48 brianwisti joined 06:58 robin-gvx joined 07:20 ruoso joined 07:22 Casan joined 07:29 fperrad joined
moritz sz? 07:53
purl sz is, like, www.flickr.com/photos/szbalint/3812...011879092/
08:00 ruoso joined 08:26 ruoso joined 08:41 smash joined 08:46 ruoso joined 08:49 preflex joined 09:17 ambs joined
dalek rrot: r48282 | NotFound++ | trunk/src/pmc/imageio.pmc:
add some const and change a UINTVAL to INTVAL to fix c++ and avoid warnings
09:17
rrot: r48283 | NotFound++ | trunk/t/pmc/oplib.t:
one more test for OpLib and define and document the magic values used in one place
09:33
kudo: 0a8ef0f | moritz++ | src/Perl6/Compiler.pir:
split PERL6LIB on ; on MSWin32 platform - szabgab++ for telling us
09:49
09:54 jsut_ joined 10:06 AndyA joined 10:16 jsut joined
dalek rrot: r48284 | NotFound++ | trunk (2 files):
some more tests and a bit of reorganization in Capture tests
10:56
rrot: r48285 | NotFound++ | trunk/src/pmc/capture.pmc:
revert a change included by mistake in r48284
11:07 whiteknight joined
whiteknight good morning, #parrot 11:20
11:40 ambs joined 11:45 Casan joined
dalek rrot: r48286 | NotFound++ | trunk/t/pmc/packfile.t:
some more Packfile testing
11:45
11:52 lucian joined
bacek aloha, humans 12:22
12:23 aloha joined
bacek blog.mozilla.com/rob-sayre/2010/08/...sentation/ - interesting idea for representation of objects in memory 12:26
12:30 ruoso joined
whiteknight good morning, bacek 12:31
bacek good evening, whiteknight :)
whiteknight very interesting idea. pointer tagging and NaN boxing would all be very cool to implement 12:35
12:38 bluescreen joined
bacek whiteknight, indeed :) 12:40
Coke kid51: if you're going to copy a file in the repository for testing headerizer, can it be one that isn't copyright melvin? 12:44
er, msging.
msg kid51 if you're going to copy a file in the repository for testing headerizer, can it be one that isn't copyright melvin? (and isn't IMCC? and is actual handrolled C instead of generated C? =-) 12:45
purl Message for kid51 stored.
Coke spots a picture of allison... doing the macarena? 12:49
msg kid51 (I see the length is no longer an issue. I mostly withdraw my objection.) 12:52
purl Message for kid51 stored.
13:06 ruoso joined 13:08 bkuhn joined
kthakore NotFound: ping? 13:33
ambs kthakore: sorry, not found. 13:34
:D
kthakore ambs: :p
ambs: what up? 13:35
ambs in a sofa, at yapc eu, looking around and messing up with people on IRC :D
kthakore hahahah 13:36
ambs: :P
ambs: I am at work, wondering what NotFound did to stringhandle.pmc and io/api.c
ambs :D
kthakore yeah ...
purl doo wop doo wop // shang a langa shanga langaa
kthakore ambs: so when does TPF deliberate on grants? 13:37
ambs kthakore: hope to get results published during 15th August 13:38
but this time of the year is difficult
as a lot of people is in vacations.
kthakore yeah 13:39
ambs but talking about that, probably a good time to send a mail to the committee members asking to vote before going in vacations. 13:41
Coke ambs: yah, a reminder of the deadline would be helpful. 13:42
hey, for everyone that I told "I hate IRC"... I hate webex more. thank you. 13:43
kthakore ambs: I can vote for anyone on vacation 13:45
ambs: I volunteer
:p
ambs :D
smash Coke: IRC is nice
NotFound kthakore: I just moved some code from one file to the other
kthakore smash: I like you name. High five!
szbalint IRC++ 13:46
kthakore NotFound: I know but ... why is it in io/api.c
NotFound: didn't we want to move it out?
kthakore is soooo confused now
NotFound kthakore: What 'it' ?
purl 'it' is a euphemism for having sex with hermaphroditic micro sheep
kthakore ok
we have a else if for when PMC is stringhandle
right?
in io/api.c
for open and other methods? 13:47
you first asked me to remove those and move it to src/stringhandle.pmc
Coke purl, forget 'it'
purl Coke: I forgot 'it'
kthakore but in the last commit you moved code from string...pmc to io/api.c 13:48
Coke purl: GDIAF
purl Coke: sorry...
Coke purl: DIAF?
purl DIAF is Die in a Fire
Coke right. do that.
kthakore NotFound: ps. at this point I would like to say. thank you very much for being so patient.
Coke smash, I'm willing to believe irc just sucks for me. 13:49
ambs Coke: here you go
kthakore NotFound: btw the r48252 is what I am talking about
purl talking about is "Yeah, you're alway talking and talking and talking. Shut up and code."
kthakore ??
purl: sowwy
purl kthakore: excuse me?
smash Coke: what irc client do you use ?
szbalint shame about the no luck with bitchx on OSX. I haven't used that client for years and years, but it used to be good. 13:50
NotFound kthakore: Now there is a special case for FileHandle, or an HLL map of it, nothing else
ambs is using colloquy. Not liking it much
kthakore HLL map? 13:51
Coke ambs: did you see kid51's question here about "why a parrot grant?"
ambs no, I didn't
kthakore gah ... I need to seriously sit down and read about io in parrot.
ambs and although there is a parrot foundation
I think TPF should consider parrot grants :)
NotFound kthakore: thre is no speccial case for StringHandle now in open nor in close. Are you reading the diff backwards? 13:52
ambs (no sure if that was thetype of the question)
Coke ambs: Excellent. My thought as well. we'll see what happens.
kthakore NotFound: omg ... maybe I am
...
.../me facepalms
Coke ptats kthakore on the back.
hey, did I ever tell you about the time partcl was SO blazingly fast it beat tcl? Then i realized it was segfaulting on startup. 13:53
kthakore Coke: hehe 13:54
NotFound: ok I am throwing my code out
it is BS
NotFound: that patch is way too stupid
yay! sqaure one!
:\\
dalek kudo: 51cc37e | pmichaud++ | src/Perl6/ (2 files):
Enable --target=pir to produce PIR code that can be run directly
13:55
kthakore Coke++ thanks more making me feel better
Coke: you are good at that
Coke kthakore: ... huh.
well, people do come across differently online.
kthakore Coke: I have rose tinted glasses on maybe 13:56
NotFound kthakore: maybe is a ticket a bif difficult for a start.
kthakore NotFound: hehe ... too late now
my brain is broked
NotFound: I blame it on bacek :P
Coke pmichaud: hey, what's the plan for PGE? 13:59
Coke guesses: "Leave it alone, but don't remove it or add features"
(in which case, we can close several trac tickets with "please switch to nqp-rx"
kthakore NotFound: is it really hard, or am I jsut not getting some things? 14:01
Coke kthakore: try this one instead: #1633. 14:02
That's just ripping stuff out.
(and updating the wiki page about deprecations.)
14:03 bubaflub joined
kthakore Coke: well that is what bacek said of the other one ... 14:05
Coke kthakore: 1633 is a ticket /I/ was going to do, so I'm sure you can. =-) 14:06
kthakore haha
-.-
I am cynical now
:p
Coke do you have commit bits?
(though I suppose the git mirror makes that irrelevant._) 14:07
kthakore yeah
I only deal in patches
as I don't trust my code to have any merit for parrot yet
Coke: I mean ... I don't even know wth HLL map is
Coke HLL map? 14:08
bad purl
purl U MAKE I CRY
kthakore I dunno
Coke: NotFound said something about it
Coke hll map is how you declare that your language's pmc's map to the core parrot pmcs, and force parrot to use them in place of the core ones when possible.
ambs hmm.. I am missing coke...
...fresh coke
Coke ambs: ?
oh.
kthakore ambs: follow the skinny models into the bathroom 14:09
Coke don't drink the real stuff, it'll go right to your hips.
ambs only juice. damn :)
kthakore oh ... that coke
:p
0o#) <--- Coke'd
ambs Coke: while the English might suck, I added a comment about that parrot issue on the parrot grant. 14:15
Coke ambs: good enough. 14:20
ambs++
ambs Coke: thank you
PerlJam kthakore: I thought it's supposed to be fat models and skinny controllers :)
kthakore hehe 14:21
14:25 plobsing joined 14:30 hercynium joined 14:35 brianwisti joined
dalek kudo: efe72cb | moritz++ | src/Perl6/Actions.pm:
s:s///
14:35
kudo: cb45c52 | moritz++ | src/Perl6/ (2 files):
:i/:ignorecase adverbs for s///
14:41 whiteknight joined 15:17 Andy_ joined 15:18 ambs_ joined 15:31 khairul joined 15:35 ilbot2 joined
moderator Parrot 2.6.0 | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | fix 'make html' (talk to Coke), update tutorial (talk to tcurtis)
15:38 chromatic joined 15:40 chromatic joined
dalek rrot: r48287 | petdance++ | trunk/src/hash.c:
removed unused var
15:54
Andy_ Yeah, tha'ts right, all you unused variables watch out.
chromatic Good stuff!
purl i think good stuff is lazywebbed =)
kthakore hi chromatic 15:58
Coke: bah ... I crashed parrot again ... ok give me your ticket 15:59
Coke: the easy one?
purl the easy one is the submit button
Coke irclogs?
purl somebody said irclogs was irclog.perlgeek.de/parrot/today or see also: infrared clogs
kthakore Coke: ... fine be like that
1533 16:00
16333
Coke: /last Coke :p
trac?
purl trac is a web-based software project management and bug/issue tracking system emphasizing ease of use and low ceremony. It provides an interface to the Subversion revision control systems, integrated Wiki and convenient report facilities. projects.edgewall.com/trac/ or Python, SQLite and ClearSilver or killing killtrac or a bug-tracking tool or at trac.parrot.org/parrot/ or slow or REALLY slow
kthakore C\tahahha 16:01
Coke: ahaha
Coke: this is the same as the bacek's one 16:02
Coke: :p
or similar
gee this looks deceptingily simple
but I know the truth now!
I have seen it!
:p
kthakore shuts up and goes to break parrot again
lunch & 16:03
and reading parrot docs
16:03 whiteknight joined
kthakore is there like a print button for this? 16:04
brianwisti That's my favorite lunch pastime as well - reading Parrot docs.
kthakore brianwisti: reall? 0o
16:04 theory joined
kthakore brianwisti: I do it cause I suck soooo bad 16:04
brianwisti Likewise. That's a pretty good reason.
Coke purl, jeter? 16:05
purl i don't know, coke
chromatic I expect more bug reports on the docs in that case. 16:07
Coke chromatic: or patches! 16:08
purl patches are welcome
Coke but purl is not.
I am beginning to agree with #perl6 that purl should be booted. though I like having a parrot-specific bot.
particle what's so wrong with /ignore purl? 16:09
chromatic New channel denizens don't know to do it. 16:13
particle put it in /topic 16:14
Coke purl is like the MST of bots. 16:16
purl is ALSO like the MST of bots.
purl okay, Coke.
chromatic Wow, coretest ran in 19 seconds. It hasn't been that fast ever. 16:17
whiteknight 19 seconds? 16:21
purl 19 seconds is good.
chromatic Parallel coretest.
whiteknight still, 19 seconds is fantastic 16:22
Andy_ make coretest took me 82 seconds 16:24
chromatic alias partest='mj coretest TEST_JOBS=5' 16:25
Andy_ mj = "make -j$TEST_JOBS" ?
chromatic something like that, yes 16:27
16:28 tcurtis joined
Andy_ still 80 seconds for me 16:28
cotto msg khairul Looks like you have some failing tests: nopaste.snit.ch/22534 16:33
purl Message for khairul stored.
khairul cotto: looks like i forgot to remove that file. 16:34
bubaflub coretest is running 74 seconds normally, 37 seconds with TEST_JOBS=5 for me
Andy_ Isn't someone workin' on getting rid of imcc?
Many warnings there that I'd fix if there was reason to... 16:35
cotto PIRATE has the potential to replace imcc, though speed and incompleteness are the current major obstacles atm. 16:42
Coke Andy_: pirc also ha the potential to replace IMCC, but as I recall, no one has been able to integrate it with parrot. 16:45
dalek rrot: r48288 | khairul++ | branches/gsoc_instrument/t/library/instrument_eventdispatcher.t:
Removed test for deleted class.
rrot: r48289 | khairul++ | branches/gsoc_instrument/MANIFEST:
Updated manifest.
Coke in fact, I think you tried at one point to headerize and clean it up and was stymied.
Andy_ Coke: Yes, that's right. 16:51
That's one of the reasons I'd be glad to see it go. 16:52
Coke Andy_: what, pirc? 16:57
Andy_ no, imcc 16:58
Coke I was just talking about pirc.
Andy_ Oh, yeah, that too. That was worse.
dukeleto pirc == PIRATE, no?
Coke no.
pirate is pir in nqp. 16:59
pirc is second system imcc.
(done in c, using bison...)
17:04 ash_ joined
cotto_work ~~ 17:04
kthakore win 3 17:10
17:23 bubaflub joined
dalek tracwiki: v1 | Chandon++ | GSOC_ThreadsInterpreterSplit 17:27
tracwiki: trac.parrot.org/parrot/wiki/GSOC_Th...ction=diff
17:28 preflex joined
dalek rrot: r48290 | chromatic++ | trunk (3 files):
[pf] Forbade null packfiles in PF_fetch_integer().

problem. This commit improves Rakudo startup modestly.
17:34
rrot: r48291 | khairul++ | branches/gsoc_instrument/t/library/instrument_eventlibrary.t:
Fixed broken test.
Coke wonders when irssi stopped wrapping long lines. 17:35
17:41 hercynium joined
kthakore hercynium: hi 17:44
purl que tal, kthakore.
kthakore Coke: set wrap?
hercynium hey there, kthakore!
kthakore hercynium: hi! 17:49
hercynium: welcome to #parrot. They speak your language
or so I am told
hercynium kthakore: oh, I've been lurking here for a long time :) 17:51
kthakore I just like saying welcome
and you don't come to #sdl so I have to do it here 17:52
:p
hercynium hah! I should remedy that. There are a number of channels I need to save to auto-join
17:53 AzureStone joined
Coke kthakore: unknown setting "wrap" 17:56
kthakore Coke: I was joking but .. ok 17:58
cotto_work blog.mozilla.com/rob-sayre/2010/08/...sentation/
chromatic Hm, a 3.122% performance improvement. 18:01
Coke kthakore: ah, trick question anyway, it was screen. :P 18:02
chromatic: +1
purl 1
chromatic That's 6.554% since last night. 18:03
whiteknight chromatic+
or chromatic++
18:03 Chandon joined
chromatic plobsing did a chunk of that too. 18:04
That's 47 Perl 5 "Hello, world!"s faster. 18:06
Coke chromatic: do you find that running the parrot profiling and converting it to cg is slow? 18:10
chromatic Very.
Coke (in terms of whatever process you're following to test.)
chromatic I'm profiling the C. The PIR profiler is currently too slow to help me much. 18:11
Coke I tried to profile some perl6 the other day, and it took forever (netbook not helping), and was crushed to find it broke a spectest somewhere. waaay too slow.
particle is anyone profiling the pir profiler to make it faster? 18:12
cotto_work These are valuable data points.
Coke particle: on my short list is to at least run the pprof -> cg perl script through nytprof
cotto_work I suspect that the best way to speed that up will be to move the callgrind output code into the runcore. 18:13
chromatic It's two parts.
Coke cotto_work: instead of outputing an intermediate format?
chromatic First, the runcore is slow because finding annotations uses the Shlemiel the Painter algorithm.
Coke *t
cotto_work well, in addition to
chromatic Second, the post-processing program is slow because it has to process a LOT of data. 18:14
Coke is the annotation finder used anywhere else?
that seems like a win to fix, if so.
chromatic Sub introspection.
We have to change the way we store annotations in PBC to fix it, but we have all of the information to build the right data structure at PBC creation, and it's almost the most natural representation anyway. 18:15
dalek tracwiki: v2 | Chandon++ | GSOC_ThreadsInterpreterSplit 18:16
tracwiki: trac.parrot.org/parrot/wiki/GSOC_Th...ction=diff
Coke cotto_work: is the nqp version of pprof2cg just for show? 18:18
(I imagine it's got to be slower than the .pl version) 18:19
(even when compiled to pbc)
cotto_work It was an experiment. It's way too slow to be useful.
iirc, at least 18:20
Coke ok. we should probably remove it to avoid confusion.
cotto_work sure
there's always vcs history
+1 if you want to remove it now 18:21
Coke done. 18:23
dalek rrot: r48292 | coke++ | trunk (2 files):
remove proof of concept port of pprof2cg.pl to NQP, cotto++
cotto_work danke 18:28
18:28 bluescreen joined
chromatic Thawing could be a lot smarter. 18:41
Coke feather.perl6.nl/~coke/nytprof/nytprof/ NYTProf run against pprof2cg.pl against a rakudo program that loops over 100 ints and adds them together. 18:48
mikehh still can not connect to smolder.plusthree.com 18:49
Coke mpeters?
purl mpeters is mailto:mpeters@plusthree.com
Coke email him.
probably good to open a trac ticket first. 18:50
or second.
mikehh Coke: 'k
18:52 jevin joined 18:54 AndyA joined
dalek rrot: r48293 | chromatic++ | trunk/src/pmc/imageio.pmc:
[PMC] Optimized ImageIO PMC's shift_integer.

Rakudo startup by 3.122%.
18:58
rrot: r48294 | chromatic++ | trunk/src/pmc/imageio.pmc:
[PMC] Tidied ImageIO PMC; no functional changes.
rrot: r48295 | chromatic++ | trunk/src/hash.c:
[hash] Special cased most common hash thawing.

normal conditional "What kind of hash is this?" test in tight loops offers a modest performance improvement.
18:59
particle Coke: nice work with the nytprof output 19:00
Coke particle: eh. easy to run. harder to do anything about. -) 19:01
particle one can shave off a few seconds by changing the first regex in process_input to an index call
Coke speaking of which, line 183 is the worst offender.
purl 179/290
purl 0.617241379310345
particle oh, right... didn't see that yet 19:02
wow, that can be sped up.
time spent should be added lazily 19:09
Coke ? 19:12
dalek rrot: r48296 | NotFound++ | trunk/src/pmc/imageio.pmc:
s/const const/const
19:15
chromatic That's one immutable variable. 19:17
particle coke: don't add the $time to every op in the "stack" every time an op is called. instead, save the accumulated time and add it when the stack is popped 19:20
19:21 ash_ joined
kthakore ash_: hi 19:22
ash_ hi
purl hi, ash_.
kthakore ash_: may I have a minute of your time?
cotto_work would /^OP:/ be meaningfully faster than /^OP:(.*)$/ ?
ash_ sure
kthakore ash_: what needs to be done for learn.perl6.org ?
ash_ learn.perl6.org?
kthakore ash_: that web REPL thing on moritz's github
cotto_work or would they be optimized to the same thing
kthakore ....
ash_ ah, thats try.rakudo.org
kthakore ash_: oops sorry 19:23
yeah htat
ash_ but, i am trying to build it and get the basics working, currently, i have a working example implementation thats kind bare bones for now
its all in the repo on github
it needs a few perl5 modules, cgi, and rakudo built
moritz++ gave me an account on feather3 with sudo access to set it up 19:24
but i have been failing to build rakudo, i was looking for moritz today, to figure out if/how to build rakudo
particle cotto_work: yes, it would be faster not to capture
ash_ building rakudo takes to much memory and that machine seems to have a limited amount
cotto_work It's good to see that the code isn't yet completely optimal 19:25
particle if ( 0 == index $line, q{OP:}, 0 ) would be faster still
19:26 bubaflub joined
Coke particle: if the stack wasn't changing each time through, that might work. 19:27
particle the full stack doesn't change each time
Coke particle: I wouldn't assume index is faster, btw. 19:28
(but I'd test it, sure.)
19:28 lucian_ joined
chromatic if (s/^OP://) { ... } will be faster than greedy capture. 19:28
particle is the capture used?
mikehh Coke: just got a reply from Michael Peters saying: Sorry, I'm having some problems with that machine. I'm going to have to move smolder some place else. Please bear with me as I find the time to do that. 19:29
chromatic Yes.
particle ah, yes.
ash_ kthakore: so, in short, i have been trying to get it setup, the perl 5 backend is in working order for a decent groundwork with a minimal implementation, i can get the perl 5 modules installed, but i haven't been able to build rakudo
Coke particle: looks like the stack can change each time through: (line 222)
particle caching the file, ns, or line hash lookups would reduce the fetches in that for loop
Coke particle: on line 183? but those could change per $_, neh? 19:30
cotto_work The capture is used but there's no reason that $line couldn't be used directly. 19:31
chromatic Don't walk the stack for every op.
Keep a stack of cumulative costs, then keep that in sync with the size of the op stack.
particle yeah, that's what i'm suggesting. well put. 19:32
chromatic Not sure you even need a cumulative stack; when you pop, add the value and keep going.
kthakore ash_: what do you need for rakudo to be buildt?
ash_: I mean what problems are you having>
ash_: perl Configure.pl --gen-parrot && make install right?
ash_ the system only has like 300mb of memory, (that i can use apparently) 19:33
Coke it's also interesting to me how much of that code is never invoked.
ash_ and to build rakudo, you need about 1 gig
particle and shift/unshift... is push/pop faster?
chromatic Don't worry about the speed of shift/unshift versus push/pop.
This program is almost entirely IO bound.
cotto_work print_stats is just for debugging
Coke cotto_work: even in process_input. 19:34
ash_ kthakore: i could (in theory) build it on another machine and copy it over... but i don't have a debian based system around, i wanted to ask moritz what he thought i should do to build rakudo
cotto_work Annotation aren't part of the profile by default because they slow down the profiling runcore some.
kthakore ash_: wat arch and os do you need?
cotto_work There are some surprises there. 19:35
ash_ debian squeeze/sid amd64 2.6.32-5-xen-amd64
particle Coke: your example program was pretty simplistic 19:36
Coke particle: fair enough.
nopaste is no longer reporting ANY channels.
nopaste.snit.ch/22537 19:37
Summary: sample rakudo program used to gen nytprof output.
kthakore ash_: I have a amd64 lets see if I have a 1gig of mem 19:38
ash_: aww :\\
no I don't
ash_ how much do you hae?
have*
kthakore 254
256
mikehh Coke: not in the robots list on the channel 19:39
kthakore ash_: I have the box for a month
ash_: I can give you access if you like?
mikehh opbots, names
ash_ nah, i have a linux box if i need one (its ubuntu, not normal debian) 19:40
kthakore hmmm .. ok
ash_: I will go bug people with more boxes
:D
ash_ i might try building on my ubuntu box, but i still would rather talk to moritz about it
kthakore ash_: ok
ash_ and see what he suggests
kthakore np
cotto_work #ps in 50 19:41
kthakore ash_: sowwy I couldn't help
ash_ thanks though
i'd like to get it setup soon
19:46 theory joined
chromatic Is it just me, or is hash resizing as naive an algorithm as you can imagine? 19:52
ash_ anyone in here use feather3? 19:55
cotto_work It can't be naive. It uses bit shifting instead of multiplication. 20:01
chromatic Why realloc, then reshuffle? 20:14
Coke why roll our own hash algorithm in the first place? 20:15
</deadhorse> 20:16
20:17 LoganLK joined
chromatic Because... dependencies... licensing... NIH.... 20:18
Coke yah, that last one. =-) 20:19
chromatic We do get some optimization possibilities in cases where we *know* our specific data needs, but that doesn't make up for the fact that our hashes are too expensive. 20:20
atrodo NIH is my favorite excuse to learn about something
chromatic seen bacek 20:22
purl bacek was last seen on #parrot 7 hours, 41 minutes and 59 seconds ago, saying: whiteknight, indeed :)
particle HAHAHA chromatic said optimize and hash in the same sentence 20:24
20:24 ambs joined
cotto_work Would it be worthwhile to make hashing more pluggable and see if some other library would help us? 20:26
Coke I would /imagine/ so. 20:27
or we could just have chromatic focus on cleaning up hashes!
chromatic I'm not sure what the right approach is. 20:28
Clearly we need a better algorithm, but our current algorithm is very fragile.
cotto_work What do you mean by "fragile"? 20:29
chromatic Changing the growth factor causes segfaults. 20:30
atrodo that's always a plus
Coke chromatic: the comments do say they do doubling for a reason.
cotto_work ...
chromatic #ps in 0 20:31
particle changing the growth factor causes *segfaults*. WOW. shall i invoke the three-lettered former patchmonster for that? 20:32
20:33 Paul_the_Greek joined
Paul_the_Greek Howdy folks. 20:34
I have a question.
tcurtis Hello, Paul_the_Greek. Ask away. 20:35
Paul_the_Greek I confused about SVN vs. SVK.
Which one do I use?
chromatic Generally whichever you're most comfortable with. 20:36
Paul_the_Greek I want a simple command line interface.
chromatic If you're new to both, choose SVN because SVK's developers have stopped maintaining it.
Paul_the_Greek Okay, SVN.
Which command line version do you recommend?
chromatic The newest one you can install. 20:37
Paul_the_Greek Collabnet or Slik?
tcurtis subversion.apache.org/ 20:38
Paul_the_Greek Super, thanks. 20:39
Do you mind an even newbier question?
chromatic Ask away.
Paul_the_Greek I'm thinking of diving in to contribute. I looked around and it seemed a good way to start is with PIRC. 20:40
What does it mean when all the modules contains comments that effectively say not to make any changes or they will be lost?
It's something to do with annotating the function definitions.
chromatic Some of our files contain preprocessed information. 20:41
20:41 tommyd joined
chromatic The configuration/build system writes part or all of certain files. 20:41
It's just code generation. If you need to make a change, change the code generator, not the generated code.
Paul_the_Greek The .h files, I presume.
Oh, hmm. This was every .c file, I believe. 20:42
chromatic Those, and probably the lexer and parser.
Paul_the_Greek Let me look ...
Coke Paul_the_Greek: it's not the whole file, but between 2 comments.
Paul_the_Greek Yes, but I think it was the majority of the files.
Coke yes.
so we don't have to write all the boilerplate, we can let a perl script do it. 20:43
cotto_work chromatic: you had some ideas?
Paul_the_Greek So I'm looking at pirregalloc.c
chromatic 1) a binary format for annotation data, to perform less IO in producing and consuming 20:44
2) a binary heap to store annotation information
3) ... just forgot
Paul_the_Greek Never mind. Indeed, I'm seeing the function declarations added by the headerizer.
Coke Paul_the_Greek: note that PIRC is not actually... really... part of parrot yet.
(I'm not even sure it's built by default.) 20:45
Happy to point you on the path to making it work and be usable, though. =-)
mikehh chromatic: would that be platform independant
chromatic Both should be.
Paul_the_Greek Does it make sense to start with PIRC, to help get it ready?
20:45 AndyA_ joined
Coke well, the nice thing there is that it's hard to break it. ;) 20:45
particle we wrote a script to write source code to make it easier to compile our compiler which runs code generated from high-level languages 20:46
Paul_the_Greek Is there a more useful place to start, for a newb?
chromatic Depends on your skills and interests, Paul_the_Greek. 20:47
Paul_the_Greek I've written machine emulators, assemblers, and the front ends of compilers.
Makes sense to start simple while learning the system, clearly. 20:48
cotto_work chromatic: how do you regard pirc? My impression was that it has an uncertain future given that imcc "works" now and PIRATE is the more self-hosted implementation.
Coke cotto_work: I wish someone would pick something and stick with it rather than having 3 ways to do something. =-) 20:49
chromatic The bus number concerns me.
cotto_work Paul_the_Greek: you could jump into Lorito. It's still in the early design stages and input would be welcome. 20:50
Paul_the_Greek What is Lorito?
purl somebody said Lorito was "little parrot" in spanish or xkcd.org/707/ or github.com/atrodo/lorito or trac.parrot.org/parrot/wiki/Lorito or github.com/ekiru/yalp-asm
Coke but there's not much coding there. fwiw.
cotto_work trac.parrot.org/parrot/wiki/LoritoD...nQuestions
Coke Or you could grab a ticket from trac.
something that segfaults, perhaps. =-)
cotto_work It really depends on your interest. Grab something fun and hack away.
particle keep your hands off of imcc, and avert your eyes.
...for your sanity. 20:51
cotto_work I don't think that we do ourselves any favors by regarding imcc like that. It's not good code, but it doesn't make your brain bleed either.
particle there are five really stupid things you can do when designing compilers. imcc does eight of them.
cotto_work: true, but that's after years of sanity-work and bugfixes 20:52
Paul_the_Greek Does it represent octal numbers with leading zeroes?
20:52 hercynium joined
Paul_the_Greek If not, then it doesn't do every stoopid thing. 20:52
chromatic We're not even talking about that level of insanity.
Paul_the_Greek A little internal insanity, perhaps? 20:53
chromatic I've said before I fixed an O(n^12) algorithm to be merely O(n^8) and I'm pretty sure I meant it.
Paul_the_Greek Is there something about it that could really use fixing?
Or should it be left well enough alone?
chromatic It's really at the well enough alone stage now. 20:54
Paul_the_Greek Okay.
chromatic Paul_the_Greek, how familiar are you with testing and benchmarking?
particle imcc was a prototype throwaway 8 or 9 years ago.
Paul_the_Greek I've certainly written tests, but I wouldn't call myself a tester/benchmarker expert at all.
I'm more of a make-the-emulator-run-faster guy. 20:55
chromatic We have a modest task of small parts that would help us make things run faster.
Paul_the_Greek I've also built the full-featured macro subsystem for a language.
atrodo Paul_the_Greek> url for your code? 20:56
particle hrmm... lorito+macros...
Paul_the_Greek It's just a language that I use myself, so no URL.
So Lorito is a smaller VM core?
chromatic Yes. 20:57
Think of a VM for C.
Paul_the_Greek Is the idea a small instruction set + macros, or a small instruction set + functions?
chromatic At one level, there's no difference. 20:58
Coke given the anti-imcc feelings I see here, then I guess pirc is not off the table.
Tene pirc is not far off of working, last I looked at it.
Paul_the_Greek Will there be a PIRC-like assembler in which actual humans write code, or is it just a compiler target?
cotto_work Paul_the_Greek: one problem with pirc is that its creator, kjs (kj on irc) hasn't been around recently
Tene When I got into it, kjs wasn't around, and it wasn't too bad to get into. 20:59
Paul_the_Greek Yes, I got that impression from the change dates and such.
Tene pretty straightforward and not badly documented.
chromatic It's a compiler target.
Tene there's also pirate, I hear, but I don't know anything about pirate.
Paul_the_Greek So no need for a fancy assembler. 21:00
chromatic We'll write the fancy assembler on top of it.
Paul_the_Greek Do people want macros in IMCC/PIRC, since they write code in it?
Ah, why a fancy assembler if humans don't write it? 21:01
Tene there are currently macros in PIR
I use them.
tcurtis Paul_the_Greek: PIR has a basic macro system(textual substitution style, not AST-manipulation style).
Paul_the_Greek I wrote a macro facility for one language that manipulated tokens, so somewhere in between text and ASTs. 21:02
I found it very annoying, so the one I'm working on now is text. 21:03
I'm guessing both text and ASTs would be good.
Although ASTs sound annoying too. I shouldn't claim that, since I don't know.
Lisp has the problem licked. 21:04
21:04 Chandn joined
Chandn Building Parrot is apparently good stress test for CPUs. 21:05
darbelo I know a guy who says "Never trust a machine that can't compile the OS it's running." 21:06
chromatic Chuck Moore? 21:07
Coke Chunk Noooris.
moderator Parrot 2.6.0 | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | fix 'make html' (talk to Coke), merge gc_* branches, fix/replace/optimize hashing 21:07
Coke ARGH, I've been tagged. 21:07
darbelo Amusingly, he appears to trust his android phone :) 21:08
Paul_the_Greek Okay folks, thanks. Once I'm ready, I'll just grab a simple ticket and go for it.
Chandn Bah. If you can't build Android on your phone you're not trying hard enough.
21:12 ambs joined 21:18 ascent joined
pmichaud good evening, #parrot 21:24
darbelo pmichaud: ping. 21:25
pmichaud darbelo: pong
darbelo Is there a cannonical place/procedure for nqp-setting feature requests?
And the patches that implement them :) 21:26
of course.
purl Indubitably.
ambs hello, pmichaud. Back from the pizza? :D
pmichaud darbelo: there's not a canonical place yet. I'm willing to consider pull requests. email to me also works. trac tickets don't work so well, as I'm not there frequently enough to look for them (although that might change soon) 21:27
ambs: yes, pizza was good
ambs pmichaud: :) 21:28
moritz I can confirm that :-) 21:30
darbelo pmichaud: Okay. I'll be throwing a patch adding sub replacement for subst() later this week. 21:31
pmichaud darbelo: I look forward to it. :-)
chromatic pmichaud, ping 21:33
pmichaud chromatic: pong
chromatic I think we need a suite of NQP-rx benchmarks. 21:34
Any thoughts?
purl Any thoughts are welcome =)
pmichaud chromatic: I'm in favor of that :-)
cotto_work chromatic: so we can see where to improve performance and watch it as it happens?
chromatic Right.
cotto_work +1 either way
pmichaud we can make them live in the nqp-rx repo, if needed, or we can use a separate repo. either is fine with me.
the other piece we're still missing is some profiling tools that can work well with nqp and/or pct-based compilers. 21:35
chromatic Any thoughts on the best way to encourage this to happen?
cotto_work a separate repo might make it easier to test old versions
pmichaud: do you have a profiling wishlist? 21:37
21:38 cognominal joined
pmichaud some way to measure how much time is being spent in each nqp-rx subroutine or method? I know we had stuff using kcachegrind at one point, but I could never get it to work much with pge or nqp-rx because it seemed to have difficulty with tailcalls. 21:38
bacek Good morning, humans
pmichaud since then I've tried to eliminate tailcalls from the codebase but haven't gotten back to trying out kcachegrind
cotto_work hio bacek 21:39
bacek aloha, cotto_work
chromatic Ah, we were just talking about bacek.
bacek chromatic, in which context? :)
chromatic Reviving the gc_* branches. 21:40
bacek chromatic, ah... gc_massacre should be pretty easy to revive.
chromatic At least merging from trunk. 21:41
bacek It needs just two pieces of functionality - 1) calculating of total allocated memory to trigger GC; 2) Dynamically adjust GC triggering based on used memory. 21:42
chromatic That's not too bad.
21:42 bubaflub joined
bacek Couple days of work. 21:43
But I was quite busy with RL/dayjob in last 6-8 weeks...
cotto_work Is that a couple bacek-days or a couple normal person days? 21:44
bacek cotto_work, "bacek-days" :)
tcurtis What's the proper way to separate a TT's keywords? Does it matter, since I suppose most queries on keywords are contains queries?
pmichaud well, folks, I'm fading a bit quickly here, so off to bed 21:45
chromatic bacek, is this the branch with cheaper allocations?
cotto_work clock?
purl cotto_work: LAX: Tue 2:45pm PDT / CHI: Tue 4:45pm CDT / NYC: Tue 5:45pm EDT / LON: Tue 10:45pm BST / BER: Tue 11:45pm CEST / IND: Wed 3:15am IST / TOK: Wed 6:45am JST / SYD: Wed 7:45am EST /
bacek chromatic, ?
purl chromatic, is probably that typical of CG-ed (dynamic) languages?
cotto_work forget chromatic, 21:46
purl cotto_work: I forgot chromatic,
cotto_work #ps seems to have fizzled out 21:47
chromatic I thought you mentioned that allocations were cheaper in one of the GC branches. 21:48
bacek chromatic, nope.
sorear it's a shame MAGnet doesn't have a +q channelmode
chromatic That must have been a fever dream. 21:49
bacek I had non-recursive tri-color m&s.
chromatic Non-recursive mark?
bacek yes
chromatic That came up the other day.
bacek ah. 21:50
Austin Anyone here build parrot on Windows not using gcc? 21:51
cotto_work vgp? 21:56
purl vgp is valgrind --suppressions=tools/dev/parrot.supp --num-callers=500 --leak-check=full --leak-resolution=high --show-reachable=yes ./parrot --leak-test $@ or tools/dev/vgp
21:58 ascent joined
dalek parrot: c199d95 | (Jonathan "Duke" Leto)++ | t/sql/plperl6.sql:
Add a two tests, one for a fibonacci using a pointy block, and for the
21:59
parrot: 706b7dc | (Jonathan "Duke" Leto)++ | html/plperl6.html:
Update PL/Perl6 page to describe using pointy blocks
rrot: r48297 | Chandon++ | branches/gsoc_threads (28 files):
[gsoc_threads] Kill ParrotThread and some other dead code.
22:01
Coke msg tcurtis "needs-regression-test" is too verbose of a tag. I think just "tests" is fine. 22:11
purl Message for tcurtis stored.
cotto_work "reg-test" could work in that case, though its meaning is less clear 22:14
maybe "regression-test". I'll leave the remaining bikeshedding up to whoever makes the actual changes. 22:23
tcurtis Coke: is "regression-test" concise enough? Distinguishing "Test all grammar rules of PIRC" from "Sub invocation consumes all memory. (needs fixing)" seems desirable to me. 22:26
sorear if sub invocation consumes all memory, a lot of other tests will break 22:27
dalek tracwiki: v27 | cotto++ | CottoTasklist 22:30
tracwiki: clear out completed items, add some new ones
tracwiki: trac.parrot.org/parrot/wiki/CottoTa...ction=diff
tcurtis s/needs fixing/needs testing/ 22:33
22:34 Austin_Hastings joined
dalek rrot: r48298 | bacek++ | branches/gc_massacre (298 files):
Merge branch 'master' into gc_massacre

  \tMANIFEST
  \tconfig/gen/makefiles/root.in
  \tsrc/call/context_accessors.c
  \tsrc/gc/gc_private.h
  \tsrc/pmc/imageio.pmc
22:34
purl i guess MANIFEST is useful for lots of stuff and don't forget to regenerate the manifest with perl tools/dev/mk_manifest_and_skip.pl, unless i am using git-svn
purl config/gen/makefiles/root.in is what generates parrot/Makefile
rrot: r48299 | mikehh++ | failed to fetch changeset:
merge trunk into branch
tcurtis sorear: not necessarily. That bug was for calling a sub with an empty body in a loop consuming all memory. A regression in that specific situation doesn't seem likely to break tests that aren't explicitly testing it. 22:38
22:43 Austin_Hastings joined
mikehh not getting the latest parrot svn revision to my mail - usually come there before it gets here 22:45
the last I got was r48296 90min ago 22:46
chromatic same 22:47
cotto_work too 22:48
mikehh bacek: you want me to update MANIFEST/MANIFEST.SKIP in gc_massacre? 22:49
dalek rrot: r48300 | Chandon++ | failed to fetch changeset:
[gsoc_threads] Merge from trunk.
22:53
22:53 Austin_Hastings joined 22:54 ascent joined
cotto_work www.google.com/search?q=%26%238238%3B 23:10
bacek_at_work mikehh, yes, it will be helpful 23:12
dalek rrot: r48301 | mikehh++ | branches/gc_massacre (2 files):
re-generate MANIFEST/MANIFEST.SKIP
23:26
rrot: r48302 | mikehh++ | branches/gc_massacre (13 files):
[gc_massacre] add missing svn properties
23:32 theory joined
tcurtis bacek_at_work: I get "make: *** No rule to make target `src/global.o', needed by `blib/lib/libparrot.a'. Stop." trying to build gc_massacre. 23:37
chromatic: Have a moment to talk about my GSoC? 23:39
23:39 Paul_the_Greek joined
chromatic Sure, what's on your mind? 23:39
tcurtis chromatic: I'm behind schedule. July 19-23 was scheduled for "Implement these convenience functions and classes." referring to the previous item on the schedule: "Design the convenience functions and classes in the vein of LLVM's FunctionPass, LoopPass, etc."
I got delayed in working on those because I was working on something like LLVM's PassManager/PassRegistry(Tree::Optimizer). Now I've basically got that finished. I'm going to add correct null-handling (and tests) and merge the branch I was working on it in into master.
I'm now firmly into the block of time scheduled for "Research other low-hanging-fruit optimizations." and "Implement some of these optimizations." Frankly, I'm not really certain what convenience classes like those of LLVM would be useful. Most of the pass classes LLVM has are either nonsensical for PAST or trivial to emulate with PAST::Patterns. 23:40
Should I try to figure out some pass classes that would be useful for PASTs or work on optimizations for the remainder of GSoC?
chromatic If you work on optimizations, can we start using them by the end of the coding time? 23:41
cotto_work That seems to be a fictitious file. 23:44
There's no src/global.c
tcurtis chromatic: assuming whatever value of "we" we're using includes/requires my code for their project, yes.
chromatic I consider the project a success if we can merge it into trunk and start using at least one optimization step. 23:45
Ideally you can have more than one ready, with documentation on how to use them and how to add more stages. 23:46
cotto_work msg khairul I'd like to meet briefly tonight (my time) to talk about your goals between now and the soft (9th) and hard (16th) gsoc pencils down dates.
purl Message for khairul stored.
chromatic Whatever you think serves those purposes best is fine with me.
mikehh bacek_at_work: need to resolve src/call/context_accessors.c conflicts next, but need a break 23:49
tcurtis "start using at least one optimization step" in the sense of making HLLCompiler have it as one of the default stages?
chromatic Yes. 23:50
Or at least available for HLLCompiler users to use if they so choose.
tcurtis Okay. With that in mind, here's my plan for the rest of GSoC: 23:57
1. Merge the pass-manager branch of my project's repo into master. 2. Take the NQP-rx optimizations I was experimenting with and extract them into a module such that they can easily be added to a compiler. 3. Expand those optimizations and add more until the "soft 'pencils down'" date Monday. 4. Spend the rest of the time improving documentation and testing.
chromatic Works for me.
23:58 Psyche^ joined
dalek rrot: r48303 | mikehh++ | branches/gc_massacre/config/gen/makefiles/root.in:
[gc_massacre] remove src/global$(0) from root.in
23:59