infinoid> oh, wow
infinoid> 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)
infinoid> infinoid@chirp test % time ./parrot examples/streams/ParrotIO.pir >/dev/null
infinoid> ./parrot examples/streams/ParrotIO.pir > /dev/null 0.79s user 0.04s system 94% cpu 0.883 total
infinoid> infinoid@chirp io_rewiring % time ./parrot examples/streams/ParrotIO.pir >/dev/null
infinoid> ./parrot examples/streams/ParrotIO.pir > /dev/null 0.21s user 0.03s system 98% cpu 0.245 total
infinoid> I couldn't find a better benchmark (yet), but that looks promising
Don't want to start counting my chickens quite yet, but a 4x speedup is quite a nice early result. I have some cleanup to do before I call this branch complete and ready to merge into trunk. I doubt we will get any better then 4x speedups before then, without some more-substantive changes then what I have on my tasklist.
The majority of the test failures right now are packfile test failures, and I suspect it's because we added a new core PMC type and haven't properly updated the list yet. Infinoid said he's going to dig into that problem tonight, so maybe when I wake up tomorrow we will be passing all tests. Wouldn't that be a nice treat for a Sunday morning?
Update: Not more then 10 minutes after publishing this blogpost, Infinoid had the issue resolved and now all tests are passing. It really is an honor to be working on a project like Parrot with so many wonderful developers!