On 8/12/2017 10:11 AM, Farley, Peter x23353 wrote:
That kind of HLL optimization effect can only happen in a monolithic program 
where all of A, B, C, etc. sources are available to the compiler at the same 
time.  Developing in modular, separately-compiled programs (whether they wind 
up in DLL's or just as separately loaded executables) is a different world 
entirely.
True, however, modular separately compiled programs have a severe performance penalty at the boundary between modules compared to inlined code - which is why the compiler does it.

Unfortunately the implementation of C/C++ (and to a certain extent Java) IDE's and build 
systems (like *ix make and its imitators) tends to make developers think and develop in 
that "monolithic" mindset, which isn't necessarily the most maintainable way to 
write and support application code.
I'm not sure that monolithic is how I would describe the mindset - many people would suggest C++ code etc. is overly fragmented into class hierarchies etc. But the resulting application may be monolithic.

DLL hell is also a real problem when you build everything into modular DLLs.

--
Andrew Rowley
Black Hill Software

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to