Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Alias (5735)

Alias
  (email not shown publicly)
http://ali.as/

Journal of Alias (5735)

Monday September 04, 2006
01:29 AM

Time::Tiny 0.01 released.

[ #30872 ]

I've just released Time::Tiny to the CPAN. It should appear on your mirror shortly.

This is the second in a series of three date/time Tiny modules.

In the Time::Tiny case, it is intended for parsing and generating ISO 8601 compatible time objects, but without the ability to do any significant manipulation to them.

To make up for this, as for Date::Tiny, if you have DateTime installed, you can use the DateTime method on a Time::Tiny object to get the equivalent DateTime object.

This leaves only DateTime::Tiny, the third in the series, to be written.

But this one might take a little while to happen because, like a good CPAN citizen, I'm going to be consulting with the DateTime people first, since I'd be stomping on their namespace.

I've also done another round in the neverending task of upgrading old modules to meet newer, better, ways of doing things.

This time around I've upgraded Module::Install, and done some test scripts cleaning, on about a dozen modules. I've also pulled another half dozen modules from the old CVS repository to the new SVN one.

As a side effect, my Kwalitee should receive a nice boost, to make up for the sheer boringness of module tidy ups.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Can you give a bit more info as to what use these two modules are? Looking at the source, all they do is store year/month/day/hour/min/sec and give one shortcut for printing those out.

    The docs make the excuse that loading time modules takes 3-4MB (only true for DateTime - try something lighter like Date::Class or Time::Piece), but for *::Tiny to do anything useful it looks like you'd have to do that anyway.

    I (for obvious reasons) totally disagree with the flamebait in your docs about how DateTime.pm is the
    • I recently worked on an soft-realtime Perl application (using POE) that dealt heavily with dates and times. Not manipulating them, but they had to be parsed and potentially converted between formats.

      What I found was that quite a significant amount of work was having to be done just to create the DateTime objects, far more than I was comfortable with.

      And yet the data did not require that level of rigour, I wasn't going to be doing anything with the dates, just holding them in memory, possibly converting to a
      • Further, I should note that DateTime is also cross-platform and works on Win32 :)

        *hint*
      • I agree with the comprehensive thing. Perhaps better wording is required in your module docs :-)

        I guess I'm lucky enough to have never really needed that much comprehensiveness. 4MB just to load one damn perl module (never mind the hassle of installing the thing) is just asking too much.
        • Well, I've never had a problem installing DateTime, it's been just fine.

          The only problem was on Windows, and the DateTime guys have fixed that now.

          But yes, it is expensive. Which is why the Tiny modules exist.

          And while I have your attention, any chance of getting some small releases of the modules you have commit on (that I mentioned a few posts ago).

          The bugs are tiny things, but it would help us out a LOT to have some of your high profile modules working on Windows.
  • Each object you create has one SV, one HASH, up to eight HEKs, looks pretty heavy. Compare with Date::Manip where you are looking at a single PV for the important part, which is the ISO-8601 form.
    • The "Tiny" part isn't necesarily a description of the objects that you create, but rather the size of the codebase to load into memory.

        Date::Manip - 4500k
        DateTime - 2500k
        Time::Tiny - 140k

      So while Date::Manip might have a slightly smaller object size, it's a monster to get into memory in the first place. Time::Tiny has a 4+ meg headstart.

      All of the ::Tiny modules were created because of similar modules.

      Config::Tiny vs Config::Simple and Config::General

      CSS::Tiny vs CSS

      And so on...