|
Hello,
well according to the study that was made for our project the marshalling time is apparently only a small fraction of the overall transaction time over 100mbit/s link.
Beside the omniORB outperforms TAO on many aspects. Some anecdoticals are the size of source tree for instance :
TAO 329 MB and OmniORB 17.
Note however that omniORB does not support passing objects by value and portable interceptors (don' know what that might be).
Size of base libraries are TAO 7.2 MB and OmniORB 1.7.
Installation size is 32 MB for TAO and 11MB for OmniORB.
For basic calls like void method call without parameters, apparently OmniORB is nearly twice faster then TAO !
So one should probably consider to also use omniORB as performance reference.
What I don't understant is where does this performance difference come frome. It is huge for MicoORB for instance which was the slowest in all tests.
When I read the forum thread where it was shown that Ice was slower than TAO I was puzzled. Because it means it may be even slower than omniORB. Where could this come from ?
I only see two possible spots of performance losses : data copying and memory allocation. In multithreaded application, thread synchronisation can also be a source of delay.
Unfortunately I can't publish the report. It is still a draft and an organisation internal study. Though I would be interrested to here some comments on the reported informations.
|