Parrot 1.2.0 released | parrot.org/ | 303 RTs left | Weekly Priority: Profiling
Set by moderator on 28 May 2009.
Infinoid wow, what is with the hash and key code? It's proving really difficult to read through. 00:02
Hash iterators will give you Key PMCs, which look like they give you a special shortcut path for hash lookups without having to call the hash function (though I don't know how long it takes to build up that chain, and haven't benchmarked them at all)
I particularly love comments like this: 00:03
ATTR PMC *next_key; /* Sometimes it's the next key, sometimes it's
not. The Key code is like that. */
Austin_Hastings Bwa-hahahah
NotFound Infinoid: some months ago was even uglier
Austin_Hastings svn blame?
purl it has been said that svn blame is just like p4 annotate, only better
Infinoid purl, svn blame is also just like git blame, only different 00:04
purl okay, Infinoid.
NotFound At least now it doesn't cause segfaults too oten
Infinoid That's definitely a bonus.
Austin_Hastings How hard would it be to write a trac-wiki -> pod transmogrifier? 00:05
Because I've got this urge to edit the docs... of course, half the stuff I believe isn't true, but still. 00:06
Infinoid search.cpan.org/~franckc/Pod-Trac-0.0.1/ apparently does translation in the opposite direction 00:07
Austin_Hastings From pod to trac, you mean?
NotFound You just need to execute it in reverse ;)
Austin_Hastings I'm sure parrot can do that.
parrot -r Pot-Trac-0.0.1.pbc 00:08
Isn't that what -r is for?
Infinoid That's a feature we'll add in parrot version -4
NotFound Next step is to write an unmd5sum that gives you a full dvd image given the md5sum value -)
Infinoid (and we're not going to tell you how big our version integers are, so you can't predict the overflow/wraparound)
Austin_Hastings Speaking of which, is the vtable versioned? 00:09
Infinoid We version the whole ABI at once, which includes vtable numbering. See the PBC_COMPAT file
Austin_Hastings Yeah, I noticed that when I upgraded, all my old pbc's stopped working. That was irritating. 00:10
Infinoid That's going to keep being the case for a while
I think ABI reverse compatibility is 2.0
Austin_Hastings Laugh.
"Now that we have you trained to not expect it... here it is." 00:11
NotFound Austin_Hastings: loading pbc creted with older versions is not yet supported.
Infinoid Once we finally declare our PBC is reverse-compatible, every time we make a change, we're going to have to add scaffolding to allow previous versions 00:13
But at the moment, we're making changes way too often, and don't have enough resources to keep up with that kind of thing.
NotFound I hope we stop opcode renumbering before that.
Infinoid There's already a lot of cultural inertia preventing that 00:14
But I hope we can implement nanoparrot before that
Austin_Hastings What's nanoparrot?
NotFound But let's be honest and tell the truth: we don't code supporto for that because is boring ;) 00:15
Austin_Hastings NotFound: I've noticed a lot of that.. "shiny = good, dull = bad"
Infinoid "nanoparrot" has been used to describe a few things... but what I was referring to is chromatic++'s idea for a severely reduced set of ops (think RISC) 00:16
and then reimplementing the rest of them in terms of the basic set (maybe in pir)
Austin_Hastings And the magickal jit-compiler will solve all our problems?
NotFound Austin_Hastings: well, voluntary work must not be too boring, else all developpers will left and spend his time collecting stamps ;) 00:17
Infinoid hooray for the magickal JIT-pony!
it flies overhead and rains gummy bears and lolly pops
Don't ask how.
(That's an implementation detail) 00:18
NotFound Or maybe Magic cards will be more in line with geek tastes ;)
Austin_Hastings Today's news-of-the-weird featured a pair of men arrested in Syracuse, NY, for buying and selling crack cocaine. The transaction apparently involved trading $10 cash and half of a recently-butchered pig for a $50 back of crack.
I think the magickal JIT-pony may not make it... :( 00:19
NotFound plays Pink Floyd 'Pigs on the wind'
Austin_Hastings NotFound: "Pigs on the WinG" <-- 'G' 00:20
We stoners are sensitive about our musics.
NotFound Too late, I'm almost sleeping :O
Austin_Hastings :)
NotFound It's a shame to make such mistake the day that my 'Practise English' give me an 'S' level X-) 00:23
Austin_Hastings I have no idea what that means. But you have my sympathy. 00:25
NotFound Austin_Hastings: NDS learning software
Austin_Hastings Ahh.
NDS= ? 00:26
Notre Dame School?
NotFound Nintendo DS
purl i think Nintendo DS is sexy
Austin_Hastings Ahh.
NotFound I think so, purl
purl NotFound: i'm not following you...
Austin_Hastings purl++
NotFound purl: good bot
purl thanks NotFound :)
Austin_Hastings Does the DS boot linux, yet? 00:27
Infinoid If you have a flash adapter, yes
Austin_Hastings Well, then, what more do you need?
NotFound Yes, but it doesn't run too much things because of lack of memory 00:28
Austin_Hastings Can we write parrot games targeting the DS?
Infinoid It works with my acekard 2, for instance
Austin_Hastings Forget this nanoparrot foolishness, focus on Zelda for Parrot/DS
purl Austin_Hastings, I didn't have anything matching this nanoparrot foolishness, focus on zelda for parrot/ds
Austin_Hastings :) 00:29
Infinoid Austin_Hastings: (zelda) Patches welcome.
Austin_Hastings I'm working on it, Inf.
Infinoid Austin_Hastings++
NotFound I'd like better a native parrot than one hosted in linux, but there's still a long road to cross-compiling parrot. 00:30
Austin_Hastings Are you denying the efficacy of the magickal JIT-pony? 00:31
Infinoid linux would be a good stepping stone, as we don't have to do hardware bringup and memory management at the same time
Austin_Hastings Shun the non-believer! SHUN! SHUN! 00:32
NotFound No, I deny the efficacy of DS-Linux
Austin_Hastings Tomorrow you will wake up missing a kidney.
Infinoid Kompressor break your glowstick; kompressor eat your candy. 00:33
NotFound Someone here reads german Linux Magazine?
Austin_Hastings Charlie the Unicorn: www.youtube.com/watch?v=Q5im0Ssyyus
Infinoid ... what the heck 00:34
purl Yada yada yada hasn't been implemented yet! (unless you run bleadperl)
Austin_Hastings Now you know why there were unicorns in the back of the Weezer video. 00:36
Also, that's four minutes of your life you'll never get back. Sorry.
Infinoid youtube-- 00:37
karma youtube
purl youtube has karma of -7
NotFound Watching that video I thinked I was already sleeping, having a nightmare 00:39
00:41 snarkyboojum joined 00:42 Zak joined
Austin_Hastings Suddenly, writing PAST isn't easy any more. 00:45
I spent too much time chasing down this class-init thing.
I lost context. :(
And now Ms. Workrave wants 10 minutes... 00:48
00:51 Whiteknight joined 00:54 snarkyboojum joined
Infinoid hey Whiteknight 00:54
purl Whiteknight is mailto:wknight8111@gmail.com or the grand master funk
Infinoid I ended up missing most of the week. How's the I/O stuff going? 00:55
Whiteknight helo
the IO stuff is going well. Had a good talk with allison about it
I'm removing all the role-related stuff I was doing, and following more of your suggestion 00:56
Infinoid how much did the design change? :)
oh, ok
Whiteknight We're optimizing based on base_type for built-in PMCs, and falling back to PCCINVOKE otherwise
I'm actually about to run my first coretest since making the switchover
Infinoid cool 00:57
Whiteknight ...so if you want to wait a few minutes, I'll start cursing
Infinoid sounds great, I'll get some popcorn
oh btw, we has a moar famous. [14:57] <+nopaste> "supergiantrobot" at 24.211.234.118 pasted "draft of article about parrot for Linux Pro magazine" (452 lines) at nopaste.snit.ch/16816
Think he wanted comments/review
[15:00] < supergiantrobot> My email is martin.streicher@gmail.com.
Whiteknight oh, awesome 00:59
okay, well the build hung, so no testing. Probably have some kind of weird recursion situation happening somewhere
Infinoid sounds great. Lemme know if I can help 01:02
Whiteknight I'm just going to take a look at it in GDB now to see if I can spot where the hang is happening. You're welcome to dig into it too 01:05
Infinoid Is it all checked in? 01:06
Whiteknight yep
at least, I believe it is
Infinoid oki *grabs a shovel*
Whiteknight oh no, it looks like I have some outstanding stuff not checked in 01:08
let me do that nowish
ah ha! I see the error in the diff. I was inverting a condition and creating an infinite loop 01:09
dalek rrot: r39438 | whiteknight++ | branches/io_rewiring/src/io/api.c:
[io_rewiring] Remove the lousy VTABLE_does logic I was using, replace it with optimized base_type checking and PCCINVOKE fallbacks
01:10
Whiteknight coretest is returning a few failures still though, but I have to wonder whether some of the failing tests are even good tests 01:12
some of them look a little shady to me
Infinoid oh, wow 01:15
I hacked examples/streams/ParrotIO.pir to read one of the biggest files in the tree I could find (t/library/md5_4.pir) instead of the default (itself)
Whiteknight ...and? 01:16
Infinoid infinoid@chirp test % time ./parrot examples/streams/ParrotIO.pir >/dev/null
./parrot examples/streams/ParrotIO.pir > /dev/null 0.79s user 0.04s system 94% cpu 0.883 total
infinoid@chirp io_rewiring % time ./parrot examples/streams/ParrotIO.pir >/dev/null
./parrot examples/streams/ParrotIO.pir > /dev/null 0.21s user 0.03s system 98% cpu 0.245 total
I couldn't find a better benchmark (yet), but that looks promising
Whiteknight wow, that is freaking impressive
Infinoid Whiteknight++ 01:17
I'm still getting packfile test failures, is PBC_COMPAT the only thing you have to update? 01:19
Whiteknight I have no idea, to be honest 01:20
Infinoid I'll dig into that later tonight
Whiteknight I'm sure there's another step, and I'm sure it's rediculously easy
Infinoid of course :)
Whiteknight so easy that nobody bothered to document it :)
or, I'm so lazy that I never bothered to read the documentation 01:21
Infinoid looks for a big green "Go" button to press
Whiteknight I'm getting test failures in t/op/interp.t and t/pmc/pmc.t that look completely bogus to me
the tests don't look like they're doing the right thing at all
Infinoid t/pmc/pmc.t looks like it's just making sure every PMC in the list instantiates correctly 01:23
Whiteknight in the interp.t test, it's trying to readline from stdout, which shouldn't happen
Infinoid Does instantiating a Handle directly really need to be an exception?
Whiteknight yeah, the t/pmc/pmc.t test looks like it's failing for the same PMC-numbering issues that the packfile tests are failing
Infinoid For me, it's failing with "# Handle cannot be instantiated directly." 01:24
the packfile tests are failing with a message about incompatible bytecode versions (PBC_COMPAT)... different
Whiteknight right, but the pmc.t test shouldn't be creating a Handle type anyway. 01:25
Infinoid it creates all the types in the list, just to make sure it can
Whiteknight the test is obviously not trying to instantiate Handle, because Handle didn't exist when that test was written
so it must be confusing Handle with a different type somewhere
Infinoid no, it's generating the list at runtime 01:26
but we can blacklist Handle, one moment
nopaste "infinoid" at 24.182.55.77 pasted "blacklist Handle in pmc.t" (13 lines) at nopaste.snit.ch/16818
Whiteknight ah, that must have been it 01:27
Infinoid++
Infinoid will push that commit back to the branch 01:28
There, that's one fewer failure. 01:30
dalek rrot: r39439 | Infinoid++ | branches/io_rewiring/t/pmc/pmc.t:
[t] pmc.t generates a list of types to test, at runtime. Handle can't be instantiated directly, and needs to be blacklisted.
Infinoid digs into PBC_COMPAT
dalek rrot: r39440 | whiteknight++ | branches/io_rewiring/t/op/interp.t:
[io_rewiring] the second test in t/op/interp.t looks bogus to me. It was trying to readline from stdout. Previous IO implementation didn't check that the handle was readable, and would fail silently. The new implementation throws an exception if we try to read from a non-readable pmc.
01:33
Whiteknight two fewer failures 01:34
Infinoid is seeing if the packfile issue is as simple as rerunning tools/dev/mk_native_pbc
(though I thought I had already done that) 01:35
Whiteknight I was thinking it was something like that 01:36
isn't there a list of PMC types that we have to update, or is the list automatic? 01:37
Infinoid For what?
Whiteknight I don't know, I'm blindly guessing about stuff no
Infinoid I think it must be automatic... pmc.t knew about Handle
01:38 Zak joined
Infinoid I'm also trying mk_native_pbc on an x86-32 box, just in case it doesn't work on x86-64 01:38
Looks like it'll take a while tho.
I suspect generating the files is broken on x86-64. mk_native_pbc is running tests, but they're being skipped with "t/native_pbc/integer.t .. skipped: pending robust testing strategy, TT #357" 01:40
Whiteknight great, running a bunch of skipped tests 01:42
efficiency++
okay, the only non-packfile test we're failing now is t/pmc/stringhandle.t 01:43
Infinoid Ok, yeah, it just needed to be regenerated on x86-32 01:47
Still have an issue with t/pmc/packfileannotations.t; the rest of them work 01:49
that one uses a different file, which mk_native_pbc didn't update. Hooray
dalek rrot: r39441 | Infinoid++ | branches/io_rewiring/t/native_pbc (4 files):
[t] Recreate native_pbc files for PBC_COMPAT bump.
rrot: r39442 | Infinoid++ | branches/io_rewiring/t/native_pbc/annotations.pbc:
[t] Regenerate t/native_pbc/annotations.pbc by hand.
01:53
Whiteknight There's one test failure still in t/pmc/stringhandle.t. It trys to call the "record_separator" method on StringHandle, but I don't see that method defined anywhere 01:56
dalek rrot: r39443 | whiteknight++ | branches/io_rewiring (7 files):
[io_rewiring] StringHandle may pass a NULL path, even though FileHandles don't. Change an assertion to allow for this behavior, which resolves a test failure.
Whiteknight oh, wait. I think that test is marked TODO 01:57
Infinoid Yeah, it's TODO for filehandle.t too
That's a great candidate for pushing to the Handle base class, by the way
Whiteknight okay, awesome. So t/pmc/stringhandle.t is completely passing 01:58
agreed, great candidate for it
Infinoid is rebuilding/retesting after update
Whiteknight Infinoid++
Infinoid Poor thinkpad.
I can tell how far along the "TEST_JOBS=4 make test" process is, by how long I've been smelling burning plastic 01:59
Whiteknight I have an old thinkpad that got me through gradschool, so I love them 02:00
Infinoid This is my fourth. I love them too 02:01
All tests successful.
purl ship that sucker
Infinoid ships purl
Whiteknight purl++
things are looking promising on this end too 02:02
Infinoid tries rakudo test 02:03
Whiteknight I don't even know how to update rakudo anymore 02:04
last time I tried git pull it yelled at me and said it didn't know what branch to pull from
All tests successful.
purl ship that sucker
Whiteknight w00t 02:05
Infinoid I've gotten used to using a bounce checkout for parrot and rakudo, so the commands I use nowadays aren't very ... portable 02:06
Whiteknight I'm a revision-control simpleton. I can use SVN, poorly, and can't really use GIT at all 02:07
Infinoid At a guess, you've probably changed your tree with "git checkout <commithashthingy>" or "git bisect" without a "git bisect reset"
Whiteknight I can guarantee that I've never used either of those two commands 02:08
Infinoid Ok. "git checkout master" should get you back to a point where "git pull" will work
Whiteknight I did a "git rebase" thingy once, and "git pull" when I try to update something
Infinoid I use rebase more than I use pull. But that's because I maintain stacks of local patches on top of whatever origin/ is doing 02:09
Whiteknight "fatal: Not a git repository"
Infinoid You do, of course, need to be in a checkout directory when you run that command
cotto I'm looking forward to the git talk at yapc to get me jump started with it.
Infinoid if there's a .git subdirectory of your current directory, maybe it's corrupt somehow
Whiteknight no, I tried it again and it worked
Infinoid Git took me a couple of tries to wrap my head around. Kinda like Perl did. 02:10
It was completely worth it tho
Whiteknight yeah, I feel like it's the way forward
I always like to learn new things too, if I have a good use-case
I think this branch is signed, sealed, delivered 02:11
Infinoid Yeah. Unfortunately, "doing basic things with rakudo" isn't the best use-case I can think of for git
Whiteknight I would like to do some more indepth-profiling to make sure there is an actual performance improvement though
Infinoid "resolving lots of branches" is a better one... git has too much extra overhead to get motivated by the simple stuff
Please do. I looked for benchmarks and couldn't find one, which is why I hacked one up 02:12
nopaste "infinoid" at 24.182.55.77 pasted "Poor man's I/O benchmark" (19 lines) at nopaste.snit.ch/16819
Whiteknight yeah, I can't think of a good way to benchmark it really
Infinoid That example just read()s in chunks and emits one line per syscall 02:13
I redirected the output to stdout and ran it under "time"
The stuff in examples/io/ is just networking, pretty useless for this
02:15 snarkyboojum joined
Whiteknight you running the rakudo tests now? 02:22
I sent an email to the list asking for testing help, maybe we can get some good feedback and performance results from that 02:26
but I'm going to bed now, So I will talk to you later
Infinoid msg whiteknight Rakudo test passed. 02:32
purl Message for whiteknight stored.
02:41 janus joined 03:03 snarkyboojum joined 03:10 Zak joined 03:45 szabgab joined, cottoo joined
Infinoid msg whiteknight Oh, my half-written Pipe stuff is in that branch too. If you merge back into trunk, please delete those; I'm happy keeping that stuff in my local patch stack until I remember to write some tests for them. (I think the real issue there is that they need threads, and threads crashed the last time I tried to use them.) 04:15
purl Message for whiteknight stored.
04:39 snarkyboojum joined
cotto pge? 04:55
purl rumour has it pge is the Parser Grammar Engine
cotto thought so
Austin_Hastings hey, cotto
cotto Hi, Austin_Hastings
Infinoid and jonathan: how thoroughly are you reviewing the article that supergiantrobot posted? 04:56
Austin_Hastings Where is this article? I didn't see it on -dev... 05:00
cotto Austin_Hastings, nopaste.snit.ch/16816 05:03
Austin_Hastings Oh, wow. A real article. 05:04
Infinoid cotto: I just sent in a couple of notes. I tried not to get too nit-picky, because I know the target audience is a bunch of people who don't know anything about parrot, and therefore, don't care whether if-then-else is a PAST node or a PIR object 05:07
But I'm sure anything you send the guy won't hurt :) 05:08
Austin_Hastings It appears that parrot's configuration system has outsmarted me. 05:11
It knows that I don't have perldoc installed, despite evidence to the contrary (such as "which perldoc"). 05:12
Nothing I do or say, including most of the profanities I know (in 5 languages), can change its mind.
:(
Infinoid Our config system's profanity parsing support is quite lacking 05:13
Austin_Hastings See, we need that new p6 tr/// op.
So, just edit the test to pass. Good thing perl's a scripting language. 05:17
cotto Infinoid, ok. I agree about being nitpicky, but I also don't want potential users to get confused by differences between the article and reality, at least not more than necessary.
Austin_Hastings And yet, now it knows perldoc is installed but still generates a bogus make-docs target. ??? 05:18
Infinoid So your perl5's "scriptdirexp" variable is wrong? 05:19
Austin_Hastings Or nonexistent.
Infinoid perl -e 'use Config; print($Config{scriptdirexp}, "\\n")' 05:20
/usr/bin
purl rumour has it /usr/bin is ln -s to sendmail dude
Austin_Hastings /usr/bin 05:21
purl i think /usr/bin is ln -s to sendmail dude.
Infinoid And your perldoc is elsewhere?
purl, forget /usr/bin
purl Infinoid: I forgot /usr/bin
Austin_Hastings nope. Right there in /usr/bin
I just edited the test to set the var to /usr/bin/perldoc
Still doesn't work. :( 05:22
Infinoid But parrot finds it somewhere else?
Austin_Hastings Parrot doesn't think it's installed.
Infinoid doesn't get anything useful in his output from "perl Configure.pl --verbose-step=auto::perldoc" 05:23
Austin_Hastings You and me both. 05:24
Infinoid Is it something that broke recently? 05:25
Austin_Hastings I've never tried to do make docs until now.
So yes.
:)
But I really don't know.
Infinoid Ok. I've no clue either, though it would be nice to know how it's running perldoc 05:29
I think it runs it once or twice to try to figure out what version it is
Austin_Hastings It runs perldoc -ud [TEMPFILE] perldoc
Then parses that. The file seems to be generated okay.
Infinoid Are you building as root, by any chance? 05:30
Austin_Hastings Nerp.
I run make-install-dev as root, but nothing more.
Infinoid Good. I seem to recall issues with perldoc dropping privileges and then failing to write the tmpfile
Austin_Hastings Laugh.
Ahh, I see the problem now. 05:34
:-> :-> :->
I'll grin a lot so I'm not tempted to use a firearm.
parrot/Makefile seems to always have a bogus docs: section. But docs/Makefile is okay. 05:35
And I've still got this p5 script dir weirdness.
Now "make doc2wiki" kicks ass. 05:37
If only someone had already written a wiki2pod converter. 05:38
dalek kudo: d90577b | pmichaud++ | (7 files):
Refactor postcircumfix:<[ ]> and Whatever handling.
06:24
06:56 uniejo joined 06:58 viklund_ joined 07:00 flh joined 07:02 david joined 08:00 iblechbot joined 08:20 clinton joined
nopaste "mikehh" at 90.209.128.156 pasted "fulltest failures at r39443 - Ubuntu 9.04 i386" (134 lines) at nopaste.snit.ch/16821 09:30
mikehh make -k fulltest at r39443 - codetest, examples_tests FAIL, all others PASS 09:33
09:58 viklund joined 10:01 flh joined 10:35 barney joined 11:10 masak joined 11:29 snarkyboojum joined
dalek kudo: 290012a | masak++ | (7 files):
Revert "Refactor postcircumfix:<[ ]> and Whatever handling."

to have been an uncommitted file src/classes/WhateverCode.pir that prevented build.
11:44
11:45 bacek joined 11:53 Whiteknight joined 12:17 PacoLinux joined 12:27 payload joined 12:30 payload joined 12:31 iblechbot joined 12:33 cognominal joined 12:47 patspam joined 12:50 cognominal joined 13:21 kid51 joined 14:41 skids joined 14:43 tetragon joined
dalek kudo: b776b07 | pmichaud++ | (8 files):
Refactor postcircumfix:<[ ]> and Whatever handling -- attempt #2.
14:56
16:01 Andy joined 16:31 Psyche^ joined 16:41 HG` joined 16:51 Whiteknight joined 17:04 masak joined 17:27 Zak joined 18:01 mikehh joined 18:16 kid51 joined
kid51 Is there anyone designated as "in charge" of the pre-YAPC Parrot VM Workshop in Pittsburgh? 18:24
18:30 kid51 joined 18:34 ruoso joined 18:37 viklund_ joined 18:39 davidfetter joined
dalek kudo: f7b42bc | pmichaud++ | src/setting/IO.pm:
Fix up .get and .lines to handle eof more properly.
18:39
tracwiki: v11 | jkeenan++ | Parrot%20Virtual%20Machine%20Workshop%202009 19:02
tracwiki: Add location of workshop mailing list
tracwiki: trac.parrot.org/parrot/wiki/Parrot...ction=diff
19:26 flh joined, mikehh joined 19:36 clinton left 19:46 pjcj joined 20:18 eternaleye joined
dalek kudo: 5f70a68 | (Martin Berends)++ | src/setting/Temporal.pm:
[Temporal.pm] add Temporal::TimeZone::Observance to manage timezone
20:46
NotFound There is some known problem to build parrot on Vista with activestate perl? 21:35
Forget it, I think I just installed the wrong package 21:42
purl NotFound, I didn't have anything matching it, i think i just installed the wrong package
21:46 jan joined 21:53 eternaleye_ joined 22:05 tetragon joined 22:10 contingencyplan joined 22:11 bacek joined 22:32 rg1 joined 22:33 payload joined
GeJ Good morning everyone 22:33
Infinoid hi GeJ 22:36
GeJ Hi Infinoid, how's life treating you? 22:37
Infinoid busy but good. you? 22:40
22:41 Limbic_Region joined
GeJ busy, and trying to survive... mostly. 22:43
I'll blame the PHP community for this. 22:44
cotto I support any such blaming. 22:50
22:53 kid51 joined
moderator Parrot 1.2.0 released | parrot.org/ | Weekly Priority: Profiling | Parrot VM Workshop, Pittsburgh, June 20-21 22:55
bacek PHP have community??? ORLY? 23:01
good morning everyone 23:02
23:04 Theory joined
kid51 had to google for ORLY 23:04
Silly me, I thought it was an old airport in Paris. 23:05
bacek :)
23:06 Whiteknight joined
GeJ G'Day bacek 23:11
bacek G'Daj GeJ
Whiteknight hello GeJ ad bacek 23:12
GeJ Heya Whiteknight
purl Whiteknight is mailto:wknight8111@gmail.com or the grand master funk
bacek Hi Whiteknight 23:22
Whiteknight how are you guys doing today? 23:29
23:31 mikehh joined
bacek trying to understand rationale behind STRING implementation. 23:31
EPIC FAIL
purl EPIC FAIL is, like, chopping chili and go pee without washing hands or whatever led to you being born
jonathan purl: Actually chopping chili and rubbing eye was worse. 23:35
purl jonathan: i'm not following you...
jonathan It stings more there.
Get it now?
:)
jonathan -> sleep 23:36
bacek jonathan: :)
good night
Whiteknight simon cozens was working on fixing the string implementation, I don't know what happened to his work 23:38
bacek when he work on it? 23:43
And is there any description of his work?
dalek rrot: r39444 | whiteknight++ | branches/io_rewiring (160 files):
[io_rewiring] merging from trunk r39194:39443. Causes some failures, need to investigate now
23:44
Whiteknight let me look around 23:45
there's a branches/string branch, but it's about 3000 revs out of date 23:46
skids bacek: I *almost* understood the rationale when I read through it... :-) 23:47
Whiteknight bacek: Why, you interested in working on STRINGs?
bacek Whiteknight: I'm interested in making parrot fast.
And strings are slow... 23:48
skids but hashes are hit harder.
bacek skids: Mixing bytes and chars is bad rationale. From any point of view...
hashes are simple.
Whiteknight bacek, I agree. Strings need a lot of work to be faster 23:49
skids just saying if you oprofile parrot, other than GC, hashes are way up there.
Whiteknight yeah, GC needs work too
everything needs work 23:50
skids heheh.
bacek skids: can you nopaste your profiling test? In pure PIR if possible
skids I have long since closed that terminal :-)
Whiteknight Infinoid: ping 23:51
skids (Oprofile is a statistical online profiler, no code mods needed). I did do a bit of modify-the-c code stuff earlier, which is why I know some huge percent of strings are 5 chars or less, and some huge percent of hashes are 4 kvs or less. 23:53
Whiteknight purl msg Infinoid I merged the io_rewiring branch to trunk, but the packfile stuff borked again. Can you run your mk_native_pbc magic again? When I tried it on my machine I did something wrong and it broke worse
purl Message for infinoid stored.
skids (at least, when running rakudo) 23:54
I could offer that code, if you like, but it may need to be refitted if there has been much change since then. 23:55
bacek skids: go for it. (Initial size of hashes was reduced to 4 since) 23:59