Separate Compilation

Sai-Lai Lo S.Lo@orl.co.uk
Mon, 16 Feb 1998 20:35:58 GMT


Hi Gary,

>>>>> Gary D Duzan writes:

>    Has anyone else run into this sort of problem? How did you deal with
> it? Any chance of having flags in omniidl2 which produce separate
> skeleton code files for each module/interface/whatever? Or maybe
> #pragmas in the IDL to specify which parts go in which compilation
> unit.

Compiling the stubs could take a long time and the compiler VM could become
very large. In many ways this is a compiler issue. By using C++ namespace,
we may be able to divide the code into smaller units and not require every
compilation to include absolutely everything. Something to think about.

No, there is no flag to omniidl2 to do what you want. We avoid the problem
by using a big multiprocessor machine with lots of memory. Not a real
solution I'm afraid :-)

May be this will make you feel better:

I tried an IDL file (seq1.idl in the testsuite) with several ORBs, the
size of the stubs (header+skeleton) are:

omniORB2       - 14586 lines
Orbix 2.2 MT   - 44992 lines
Visibroker C++ - 42565 lines
HP OrbPlus     - 228811 lines
                 ^^^^^^
                   |___ No, this is not a typo.

Sai-Lai