All, I'm happy to announce that I just commited the first cut of the new XS implementation of DateTime::TimeZone to CVS.
For now the only thing I ported are a few methods and the $spans structure, which used to be a AoA. This is now a list of C structs, and are loaded on demand. Some internal APIs have changed: DateTime::TimeZone->instance() no longer accepts the "spans" parameter. If your code somehow relied on this (but you shouldn't have ;) your code will break. For those of you willing to test drive it, follow these steps to create the zone files: - logon to ftp://elsie.nci.nih.gov/pub/ and download the tzdata*.tar.gz - expand this file to a directory of your choice - then execute cd DateTime-TimeZone ./tools/parse_olson --dir /path/to/tzdata_dir --version tzdata_version # use 2005j or some such thing for tzdata_version Then parse_olson script will generate all the .pm and .xs files. once you've done that, you can go ahead and do the regular bits: perl Build.PL ./Build ./Build test ./Build install Let me know if you get compilation errors and such. --d