Re: Local communication
- From: "Gustavo J. A. M. Carneiro" <gjc inescporto pt>
- To: Robert Schwebel <robert schwebel de>
- Cc: orbit-list gnome org
- Subject: Re: Local communication
- Date: Fri, 11 Jun 2004 23:14:24 +0100
Hi,
I think that "local use" actually means in-proc communication to a
component activated as shared library. It would be interesting to
benchmark this case also.
Regards.
A Sex, 2004-06-11 às 19:00, Robert Schwebel escreveu:
> Hi,
>
> I'm currently searching for a CORBA ORB for an embedded project, and
> ORBit2 seems not the worst choice to me, especially as it supports C.
>
> ORBit2 is said to be optimized for local use, which is good for my
> design. It has several parts which are normally local but can, in some
> cases, be on another machine. However, I was wondering about the
> performance for purely local calls, so I wrote a little testcase which
> defines an object with only one method (print out one character to
> stdout) which is called from a client in a loop. I compared the
> per-call-times with a normal function call and found it to be about 300
> times slower; compared with a "transfer data over named pipe" testcase
> there is still a factor of 15 between the ORBit variant and the native
> one.
>
> I'm wondering where this huge differences come from. I had expected
> that, when the ORB notices that an object is local, it tries to do the
> IOP communication as fast as possible (shared memory?). Having a short
> look into the source it seems like it uses Unix Domain Sockets via linc
> for local communication.
>
> My question now is: where does this difference come from? Can it be
> completely explained by the fact that ORBit2 does things I have not
> thought of in my stupid test cases (like locking)? Shouldn't Unix Domain
> Sockets be implemented by recent kernels in a way to be pretty fast? Or
> is it just the overhead by using the IOP vs. just a call? Would a IOP
> implemtation based on shared memory be faster, or would it be a waste of
> time?
>
> I'm aware of the fact that it is surely not the best idea to use CORBA
> for non-IPC calls; the argument here is that it will probably be
> difficult enough to teach the people who shall write the code how to use
> a C based object model (it is generally difficult to teach embedded
> people into thinking in well designed software patterns instead of bit
> banging). It will probably be not easier to teach them to learn two
> object models, one for non-IPC and one for IPC calls.
>
> I hope that some of you ORBit2 gurus can give me some hints... :-)
>
> Robert
--
Gustavo J. A. M. Carneiro
<gjc inescporto pt> <gustavo users sourceforge net>
The universe is always one step beyond logic
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]