This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] invoke.texi: "compile time", "run time" cleanup


On 1/28/2012 12:05 PM, Sandra Loosemore wrote:
I'm specifically asking for review of this patch by one of the docs
maintainers before checking it in, since it seems not everyone agrees
that these copyediting patches qualify as "obvious".  In this particular
chunk, I had to make some judgment calls, too.

We usually use "compile time", "link time", and "run time" to refer to
the times at which the program is compiled, linked, and run,
respectively.  So, the normal English rules about hyphenation apply
here; it's correct to say "at run time", but "run-time behavior", for
example.

To confuse matters, though, "compile time" can also be used as a noun
meaning "the amount of time it takes to compile".  I saw that in some
places invoke.texi was already using "compilation time" for this meaning
instead and decided it made sense to apply that terminology uniformly.
Likewise "execution time" was already being used in some places for "the
amount of time it takes the program to run", so I made that usage
consistent.  Confusingly, there were also a couple of places referring
to run time of a compilation pass; I reworded those to refer to
compilation time in that pass.

Finally, "runtime" (without a space or hyphen) is commonly used as a
noun to refer collectively to the startup code, libraries, trap
handlers, bootloader or operating system, etc that are present on the
target at run time.  In the Objective-C section of this document there's
a lot of existing discussion of the "GNU runtime" versus the "NeXT
runtime", for example, and other option descriptions refer to the
"simulator runtime".  Google shows a lot of variation on usage here (and
Wikipedia, in particular, is quite confused on this topic), but to me it
seems silly to make the adjective form of "runtime" hyphenated when it's
already a single word as a noun.  So, I decided to go consistently with
"runtime support", "runtime library", etc when discussing what the
runtime includes.

OK to check in?

-Sandra

I am still inclined to go with runtime everywhere, to ease searching and avoid everyone having to understand the above set of rules, which seem over-delicate to me (admitting all three forms, with tricky rules as to which of the three is used, will ensure that people make constant mistakes).

In particular

runtime support
run-time behavior

seems to tricky a distinction. I am not clear on what the exact rule
that you have in mind here is, and I am absolutely sure that it will
not be practical to expect the community to absorb and follow this rule.

The adjective vs noun rule is one thing, but having a rule that
delicately distinguishes two forms of adjectival use is a step
too far for me.

At the very least, you need to state the rule you have invented
here, rather than just give a few usage based examples.

I also find the disctinction between compile time and compilation
time tricky to expect to be used consistently, although it is a
useful distinction if

a) enforced carefully
b) documented in a glossary

whereas the distinction between the two adjectival forms
runtime and run-time seems to have no technical value.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]