Re: freeing CORBA arguments




>>
http://www.ois.com/technical/ORB_Performance_Enemies__Writing_Fast_IDL.pdf
>
> Very interesting. One thing I doubt however:
>
> One of the slides says that
>
>  typedef octet Data[3000000];
>  interface Image { void to(in Data x); };
>
> would transmit faster than
>
>  struct Pixel { octet Red; octet Green; octet Blue; };
>  typedef Pixel Data[1000000];
>  interface Image { void to(in Data x); };
>
> apart from the alignment issue (1 or perhaps 6 bytes per Pixel is
wasted), I
> don't think this is true. It might be true as far as the (de)marshalling
code is
> concerned, but the first solution must be (de)marshalled as well, so you
> would probably incur the same cost, but this time hand-implemented.
>
>
Philip

It's not obvious, but the slide you are mentioning lends itself well to
batching
requests, which he does talk about on the next slide.  If the ORB can batch
network
traffic, that does certainly help performance.

I would contend also the IDL he has is more oriented to how optimized your
ORB
marshalling is.  I wouldn't hand optimize the marshalling.  There are many
tools
that optimize on source...  and much research that can be leveraged there.

I think ORBit2 has some tool optimized execution paths now...  right?

David Haverkamp







[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]