Minimum TAO
We have added support for the new minimumCORBA specification to TAO. The minimumCORBA specification removes the following features from the CORBA 2.2 specification.
To minimize the footprint of TAO, we first configure ACE to support only those components that are required by TAO. Secondly, we configure TAO to only support the components specified by the minimumCORBA specification. The following two tables show the footprint reduction achieved. Note that the IDL Compiler column refers to the code required to collaborate between the IDL compiler and the ORB, and not to the code for the IDL compiler itself.
Note: All measurement are for ACE 5.0 and TAO 1.0 using egcs-2.91.60 on SunOS5.7
The make flags options used were:
debug=0 optimize=1 static_libs_only=1 DEFFLAGS=-DACE_USE_RCSID=0
These options translate into:
To build a TAO static library, if shared libraries are the default,
use make static_libs_only=1
(make sure to do this for
ACE, as well). If you're using recent versions of GNU GCC, you can
use the -frepo option, which
typically reduces the footprint by another 25 percent.
Configuration | Component | Total | OS | Utils | Logging | Threads | Demux | Connection | Sockets | IPC | Svcconf | Streams | Memory | Token | Other |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ACE (all components) | Size, bytes | 709.5 | 11.9 | 115.3 | 13.7 | 63.0 | 88.0 | 68.6 | 16.9 | 43.0 | 99.8 | 21.4 | 29.2 | 76.0 | 62.9 |
Percentage of total size | 100 | 1.7 | 16.2 | 1.9 | 8.9 | 12.4 | 9.7 | 2.4 | 6.0 | 14.1 | 3.0 | 4.1 | 10.7 | 8.9 | |
ACE (TAO components) | Size, bytes | 570.7 | 11.9 | 115.3 | 13.7 | 63.0 | 88.0 | 68.6 | 16.9 | 43.0 | 99.8 | 21.4 | 29.2 | 0 | 0 |
Percentage of total size | 100 | 2.1 | 20.2 | 2.4 | 11.0 | 15.4 | 12.0 | 3.0 | 7.5 | 17.5 | 3.7 | 5.1 | 0 | 0 | |
Reduction | % | 19.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 100 | 100 |
Configuration | Component | Total | POA | Pluggable Protocols | Default Resources | Interpretive Marshaling | IDL Compiler | ORB Core | Dynamic Any |
---|---|---|---|---|---|---|---|---|---|
Complete TAO | Size, Kbytes | 1617.2 | 412.5 | 281.0 | 32.1 | 73.4 | 10.7 | 595.2 | 212.3 |
Percentage of total size | 100 | 25.5 | 17.4 | 2.0 | 4.5 | 0.7 | 36.8 | 13.1 | |
Minimum TAO | Size, Kbytes | 1359.2 | 376.2 | 281.0 | 32.1 | 73.4 | 10.7 | 585.5 | 0.0 |
Percentage of total size | 100 | 27.7 | 20.7 | 2.4 | 5.4 | 0.8 | 43.1 | 0.0 | |
Reduction | % | 16.0 | 8.8 | 0 | 0 | 0 | 0 | 1.6 | 100 |