This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: unix domain socket with shared memory ?


> > > If you look a little deeper you can see, that the read() in unix domain socket benchmark returns only
> > 32708 bytes
> > >
> > >  1966 1981317 [main] bw_unix 1788 _read: 32708 = read (3, 0xA012048, 65536), errno 0
> > >
> > > while the read() in the tcp benchmark returns 65416
> > >
> > >  2573 7229513 [main] bw_tcp 1792 _read: 65416 = read (3, 0xA012048, 65536), errno 0
> > >
> > > and thats may be a reason for the performance difference.
> >
> > Hmm, perhaps.  I've just checked in a fix which perhaps changes
> > that disproportion.  Could you please check with the latest from
> > CVS aggain?
> >
> Yes, i will try.

The result is the same as before. bw_unix reports 32708 returned bytes also. After thinking a while about this, I
recognized that one major difference between tcp and unix domain benchmark is that the unix socket benchmark uses
fork to create the server process and afterthat enter the reading loop (one ./bw_unix), while on tcp a seperate
process has be started on the command line ./bw_tcp -s and than the client ./bw_tcp localhost.

I have looked on the strace outputs to find some significat difference for this topic, but found nothing.
I have reduced the predefined transfer size to 65500 and 34000 so see if there are some limits in the maximum
buffer size, which would be wrapped, but the same result also. :-(

Ralf


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]