What's the difference between "decoding time" and "time of decoding", "data compression" and "compression of data"? And why isn't it "decoding's time", but "decoding time"?
To a native American English speaker (at least to me), these have different implied meanings:
- decoding time - Can mean how long the decoding process takes, if you write "Decoding time will depend upon..." or when the decoding happens, if you write "At decoding time, ..."
- time of decoding - when the decoding takes place
- data compression - Can refer to the process: "Now performing data compression..." or to the degree of compression: "90% data compression has been achieved using this method."
- compression of data - refers to the process.
When we create phrases of the form "(noun) time", we use the noun as an adjective to describe the time we'll be spending on that noun; we don't say "(noun's) time", which would imply that (noun) was a person who owned that time.
Other examples: Design time, compile time, run time (different from "run-time" or "runtime"), Amok time.
It's often the case that an encoded file (compressed/encrypted, for example), might be decompressed/decrypted several times. Or the machine doing the encoding may be more powerful than the machine which will decode it later.
Therefore a lot of software designed to perform these tasks may spend more time (computing power) on the encoding than on the decoding. For example, internet streamed video (or broadcast digital TV) uses lengthy processor-intensive compression so cheap equipment can decode it fast enough to watch in real-time.
That's just background. In answer to the question, decoding time is the amount of elapsed time a computer takes to perform the decoding. "Time of decoding" simply refers to the general time-frame within which decoding is performed (as opposed to the time of encoding which is when it was encoded in the first place).
There is no meaningful difference between data compression and compression of data, except that we normally use the former.
Finally, we speak of decoding time, rather than decoding's time because we're using the word decode in an 'adjectival' mode to specify the type of time we're talking about, rather than as a noun to specify the name of the process taking place during that time. Also because it's a technical term, and techies in general don't like to waste even a single apostrophe or letter s.
To your question of "why isn't it 'decoding's time', but 'decoding time'?": It is not that the time belongs to decoding, but rather that is the the time associated with decoding. The "'s" usually indicates possession, as does "of", but "of" has many other meanings, "associated with" being one of them.
"decoding time" would usually mean elapsed time spent decoding the signal.
"time of decoding" could be elapsed time, but to me it suggests the
absolute wall-clock time at which decoding took place.
"time spent decoding" and "timestamp of decoding" would both be unambiguous and one of these should be preferred.
For the first pair, both statements can have multiple interpretations:
"decoding time" - It is now decoding time. (It is time to perform the decoding.) - What was the decoding time? (How long did the decoding take?)
"time of decoding" suffers from precisely the same ambiguity.
In general both refer to "how long did the decoding take", with "time of decoding" being more ambiguous.