All,
I have just committed another iteration of DateTime::TimeZone XS port
into CVS. I've yet to be able to correct the memory footprint problem,
but I've made the following changes:
- Change XS based objects from hash-based to scalar based and
save tons of memory.
- Optimize XS code as much as possible (for me ;) -- remove redundunt
code, try to use OO-ish destructor by making use of the stash
- Remove use of util.c util.h
- Implement some of OlsonDB, UTC, OffsetOnly, Floating in XS, too.
- UTC, Floating are now singleton
- Use LOADED_XS() to detect XS/PP once DateTime::TimeZone is loaded
(other XS things won't work unless DateTime::TimeZone is loaded
properly, so remove the fun of having to eval require, blah
blah blah)
- Add --gdb option to Build.PL, in case people want to debug with gdb
I have yet to integrate the juxtaposition code, but this code should be
much leaner (or saner) than the previous iteration.
Please let me know if there are any problems.
--d