> > Is this ALL each timezone provides, and nothing else? Does anything directly > > access timezone object structures in any other way? Because if not, it > > should be pretty easy to create an XS wrapper to implement only these > > functions, even say by accessing the POSIX zoneinfo database given a > > timezone name? > > How many win32 (and non-POSIX systems) have the zoneinfo database?
Yes, I know many non-POSIX systems don't have the zoneinfo database, but I was only using access to a zoneinfo database as an example, not as a definitive way of actually doing it. My point really is that if each timezone object only has to obey the method interface (which is about 10 methods and only 2 of those really require any calculations) and nothing inspects the objects internally or requires anything else from them, then it should be pretty easy to create some XS version which just accesses some indexed data structure, rather than having to pre-load a large amount of perl data structures into memory. That's all. I should probably just try and look this up myself, but I thought someone on the list would be better able to tell exactly how timezone objects are used, and whether only their methods are ever called, or whether other DateTime modules access the internal perl data structures themselves. Rob
