On XML::SAX::PurePerl

Matts on 2003-07-28T23:27:47

One of the best talks of the YAPC::Eu 2003 was Nick Clark's talk on optimising perl without dropping down to XS code (or Inline). This covered all sorts of micro optimisations that you probably should never do, but it inspired me anyway...

So on Wednesday night I tossed and turned in bed thinking about how XML::SAX::PurePerl has a horrible design - it parses in perl by nibbling away at the document 1 character at a time. That's horribly inefficient in a language that doesn't treat strings as character arrays.

So this weekend I sat down and re-wrote XML::SAX::PurePerl. I made as much use of perl's regexp engine as I could (actually not true - I could use it more, but it would require much deeper re-design). In the end it's now about 10 times faster.

Thanks Nicholas.


Sorry :-)

nicholas on 2003-07-29T10:13:38

So on Wednesday night I tossed and turned in bed ... Thanks Nicholas.

So my talk caused you a sleepless night? Sorry about that. I guess I should put the slides online with a health warning :-)

online

inkdroid on 2003-07-29T14:04:42

Are they online yet, and was your talk drastically different from your When Perl is not quite fast enough? Sounds like YAPC::EU was a blast.

Re:online

nicholas on 2003-07-29T14:17:53

No they are not online yet, and no they are not drastically different, just there are a lot more (given that what's currently at When Perl is not quite fast enough is the 30 minute version, and this was a 3 hour tutorial.)

YAPC EU was a blast. Aevil tried to claim that "perl6 drove me to drink" but actually it was just the Siesta launch party. Much other stuff happened - I need to journal some of the other silly bits.