[phobos] Split std.datetime in two?

Steve Schveighoffer schveiguy at yahoo.com
Thu Feb 10 07:50:27 PST 2011





----- Original Message -----
> From:Andrei Alexandrescu <andrei at erdani.com>
> std.datetime has 34219 lines, which accounts for over 26% of the entire Phobos 
> size. If Jonathan will (as he promised, I didn't forget :o)) fix line sizes 
> to conform to 80 columns, then std.datetime will become 40961 lines, or straight 
> 30% of Phobos.
> 
> (This might have to do with the increase of "hello, world" that was 
> noted by some people on the compiler list.)

I don't think so, but I cannot be sure. I'd say a full 75-90% of std.datetime is unit tests or documentation.  That shouldn't increase the size of the lib, and certainly not by as much as it does.

If it is to blame, maybe there is something wrong with the compiler still including unittest code for -lib or something...

> I understand there are factors that contribute to that: date and time 
> manipulation is a bulky endeavor, there's a ton of unittests, and 
> there's a lot of documentation. But at a level I find it difficult to digest 
> the fact that in sheer numbers date and time manipulation accounts for 30% of 
> Phobos. As a comparison point, std.algorithm does arguably a lot of work, has 
> adequate documentation, and has unittest coverage at 95%, yet does all that in a 
> "measly" 8027 lines.

Lines of file does not mean % of a library, especially when a large portion of it is not compiled.  I think we need to stop this prejudice against uncompiled LOC.  I fully support having unit tests next to the code being tested, it's the whole point of the builtin unit test system in D.

Bottom line, the doc generator should do a better job of generating documentation, so we don't *have* to open the file, and if std.datetime is adding too much binary to the exe, we should fix whatever problems dmd is likely having there.

-Steve



      


More information about the phobos mailing list