| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | Smart Linking |
Tuesday March 21 1995 06:28, you wrote to me:
Mike,
MB> Philipp Thomas wrote in a message to Mike Bilow:
MB> It's a pretty bad idea, since it interferes with some of the most commonly
MB> used global optimizations performed by compilers.
Be careful with the term global :-) For most compilers I know, global
refers to module at most. And if compilers offer dead code optimization on
function level, why not expand the idea to the whole project ? So where
does that interfere ? I'm genuinely curious.
MB> This sort of nonsense
IMO you should have labled that with an IMHO :-) I wouldn't call it nonsense.
Because there *are* benefits. And MS is not alone as I discovered after
reading the online books that come with CSET (I'm new to OS/2). One of the
stated benefits of using the intermediate linker is exclusion of uncalled
functions.
I at least have come to appreciate such abilities, having managed for four
years a project that involved about 200 objects (never counted the code
lines).
And in a project of that size you really don't know every function that's in
the code. Add to that strict guidelines from the boss how the source code
should be organized (and who regarded execution tracing and building
browser databases just a waste of time), and you come to appreciate ways to
opimize your project without investing much additional time.
And again, I don't see, where this could interfere with 'global' optimization.
MB> it just stops linking them when its internal tables fill up, with
MB> no warning or error message.
Which Version ? I worked with C 7.0 and never experienced something like that.
As far as I remember, I allways got warnings. Last I remember was when
trying to use dynamic overlays.
MB> output, you find out which modules are missing only at run-time, when
MB> you attempt to transfer control to them.
That's why I allways set /ONERROR:NOEXE, so that *any* serious error will
prevent the executable from being built. Ok, this depends on the linker
detecting such errors, but as I said, I have never had the problem of the
linker giving too few errors/warnings. Just the opposite, I allways
detested the amount of IMO exessive info, the compiler and linker produced.
MB> I would always take the penalty at link-time for the gain at run-time.
But at least for commercial projects you're not the only one who decides this.
At least I had quite some fi^h^h^h err, discussions with my boss regarding
build times (global rebuild took about 2 hours on a 486DX2 66). So *for me*
at least, there has allways been a compromise between those two.
Philipp
... A little ignorance can go a long way.
--- GoldED/2 2.50.Beta5+
* Origin: Chancellor of Unseen University (2:2437/221)SEEN-BY: 105/42 620/243 711/401 409 410 413 430 807 808 809 934 955 712/407 SEEN-BY: 712/515 628 704 713/888 800/1 7877/2809 @PATH: 2437/221 200 501 2461/200 24/999 240/5002 5500 396/1 270/101 105/103 @PATH: 105/42 712/515 711/808 809 934 |
|
| SOURCE: echomail via fidonet.ozzmosis.com | |
Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.