A lot of development these days doesn't get
compiled (e.g. PHP).
Well, doesn't get compiled in the sense we're talking
about here; I
think PHP, and certainly many of the "doesn't get compiled"
languages, do indeed get compiled, if only to pcode, when run.
Have you ever
waited for that to happen?
Probably, but rarely-to-never has it involved a human-perceptible wait
(which I suspect is a "no" to the question you intended).
[T]est build,
in a ramdisk on a Core 2 Duo at 1.8GHz, and it took
a minute fifty-four seconds.
One source file? Or many?
Many. git. (There
are worse - X, and NetBSD [...].)
Yes, if you are a programmer working on Xorg or
NetBSD kernel, you
may want a reasonably modern machine.
Not just the kernel; I mean all of NetBSD. The kernel by itself is
comparatively quick to build.
Comparatively. It's still slower than, say, git. :) I just did a test
build on that same 1.8GHz Core 2 Duo I've been using as my test case
for a reasonably modern machine (fastest machine I own, at any rate)
and, with a pre-warmed disk cache (I did a grep over the kernel source
tree to bring it all into cache), it built its own kernel in
If you are not, then you compile them infrequently :)
Actually, that does not follow. I build NetBSD significantly more than
I actually change it. This is for two reasons: (1) when I change it, I
build it on multiple machines (all the machines which run the affected
version), and (2) I do a build when installing a new machine even if I
haven't touched it since last time around.
However, it's reasonably likely that I still build them infrequently,
for the value of "infrequently" you intended. :)
I think the
largest single source file I work with may be my tar,
which is 304672 bytes, 11301 lines (I just checked).
How often do you modify and
recompile that file?
Repeat [ not at all for months, then heavily for a little while when
doing something with it ]. "A little while" can be anything from half
an hour to multiple days.
If you changed it every day, would you refactor?
I don't know. Possibly, but also possibly not. Depends on too many
other factors not stated in the question. I don't really have any
perceived "I really oughta break this thing up" need, so...
Would there be any other benefits to breaking it into
modules?
...I see no great need. There probably would be other benefits; I'm
not sure whether the benefits would be worth the prices.
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse at
rodents-montreal.org
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B