Richard Jones' Log

Tue, 30 May 2006
Problems post-sprint

Apparently there were some refcounting issues post-NeedForSpeed:

Fatal Python error: Objects/baggage.c:1 object at 0xdecafbad has negative ref count -1

... my baggage didn't arrive when I did.

On a more serious note, thanks to Michael Hudson and the geebot for the additional cleanup of the new exceptions module.

Sat, 27 May 2006
NeedForSpeed[-1]

We're half-way through the 6th and final day of the sprint. I've just committed the new-style exceptions branch to the trunk.

Phew.

Overall, my laptop (1.5GHz G4) sees an increase in pystones from 22935.8 in 2.4 maint (r46459) to 23148.1 in 2.5 trunk (r46453). This is pretty much expected as the sprint hasn't really touched anything that pystone focuses on.

On the other hand pybench will see improvements in a number of its tests. In particular the TryRaiseExcept test speeds up about 30% on 2.4, and 80% on 2.5a2 thanks to the new exceptions implementation that I wrote and Georg Brandl (or georgbot as we've just started calling him) helped clean up. I'll look into including some pybench results when Sean has finished tweaking the pybench tool.

Sean has yet more photos up from yesterday and today.

category: Python | permanent link
Fri, 26 May 2006
Need For Speed, days 3 and 4

No posting yesterday, sorry. Things were just going so well with the work I was doing :)

On Wednesday I decided I'd had enough of frames and applying other people's patches so I started working on fixing the 50% slow-down in exceptions we are seeing in Python 2.5 versus 2.4. Along with Sean and Kristján we deduced that the current implementation is slow because it tries to fake being Python classes. This is not going to be that much faster than implementing in Python itself. I decided to reimplement it using new-style C types. That effort started mid Wednesday and by the end of the day (6pm or so) I'd completed about half of the new module.

CCP treated us to a Viking feast on Wednesday night which was a helluva lot of fun. There's more photos of the merriment in flickr under pyneedforspeed. We got back to the hotel around midnight. The next morning we headed off to Blue Lagoon for a bit of mid-sprint relaxation (and to recover from the feast). We all left the lagoon much more relaxed and ready for more sprinting. Some of us were so rejuvenated that we fell asleep on the bus back (see Sean's photos).

I plowed straight back into the exceptions code and by about mid-afternoon I'd finished the new module and ran the first compile. About an hour later the various type warnings and macro errors were fixed and the module compiled cleanly. Clearly, thanks to static typing, my work was done and I could now move on to some other task. Ha ha. Running the test suite turned up some bugs - some of which were crashes, some ref counting errors. By midnight (just as the sun was setting) I finally got the entire Python test suite to run through without a Python crashing out. Today I'll be working on getting the test suite to run without errors.

According to pybench, I've now sped up exceptions by 30% over 2.4.

Tue, 23 May 2006
Need For Speed, day 2

We've had a pretty successful day yesterday and today, with some nice speed improvements hitting the Python trunk. Personally I've been playing with frame objects and the pybench tool, adding some additional features.

Tired now, and need food. There's some photos appearing in flickr using the pyneedforspeed tag.

category: Python | permanent link
Mon, 22 May 2006
Need For Speed, day 1

I got into Iceland at 3pm yesterday (after 22 hours in the air) and caught a taxi to the hotel with effbot, Richard Emslie and Bob Ippolito.

Sean has some photos from yesterday afternoon and evening. The nice people at CCP games hosted a welcome party during which we heard from them and the EWT hosts. Lots of emphasis from both companies about how Python has given them such an incredible advantage in the development cycle (EVE was re-written 11 times over its 7 year development before initial release 3 years ago and is still mutating), but the performance could be better. And that's why we're here.

It was great talking to some of the CCP guys about their game and working in Iceland. It all got a little muddled though (no sleep and Icelandic beer make Richard confused). Unfortunately I don't have a camera (the phone doesn't seem to be working here - I'm not sure that SMS even makes it). I was going to buy a camera on the way, but the delayed flight ended up stopping that (Singapore was pretty much closed, I didn't have time to go shopping in Heathrow and the prices here in Iceland are about 3x those at home). Anyway, others do have cameras so I'm hoping that they take lots of photos like Sean has been.

This morning we're going to all get together and do some planning of how we're going to spend the week.

Sat, 20 May 2006
Wasting time at an airport

My plane to Iceland (via London) is late leaving Melbourne. To compensate, I'm waiting in a hotel listening to Björk and coding some random CPython stuff :). I've tried to spend the time productively, but these thoughts have briefly interrupted:

  • The newest wiki on the block, the Game Innovation Database (GIDb) is way cool and deserves further attention.
  • I downloaded and played EVE-online yesterday since I'll be meeting some of the developers in the next week and should know what it is they've done. And it's a very cool game that I'll be looking into some more. Grab the amazing video EVE Never Fades for an idea of the game set a great song -- I'm now looking into junkiexl for more music.
  • It just occurred to me that these are potential creatures for spore. The spore site's flash anim made me chuckle too.

This list may get longer...

category: Noise | permanent link
Thu, 11 May 2006
Google's latest toys

Google really does make the best toys, don't they? First there was Google Maps Virtual Tourism, and now comparing popularity of random stuff...

There's some interesting trends in there like blogs vs. newspapers.

Some other obvious stuff like (don't forget to account for American English) Seasons really are ... seasonal

Red and blue continue to fight it out though red does seem to be more of a media whore, regardless of what some media outlets might say.

Though what do we really want?

We want game consoles, that's what!

Some of the comparisons are like apples to oranges, really...

Finally, I leave you with this (if nothing else, it proves that the English are bigger potty-mouths than us Aussies :)

(some of these searches inspired by the fine folk at metafilter)

Mon, 01 May 2006
PyWeek website LIVES AGAIN

PyWeek is now up and running on the new host. Now I need to poke the entrants to upload their most recent versions, and start promoting the challenge to other communities...