g+
g+ Communities
Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  Index 2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014 
<== Date ==> <== Thread ==>

Subject: CA on cygwin port is slower than native windows port
From: "Jeff Hill" <johill@lanl.gov>
To: <core-talk@aps.anl.gov>
Date: Thu, 11 Jan 2007 18:26:31 -0700
During testing this evening I noticed that CA on cygwin is substantially
slower than CA on native windows. The two tests were running with both the
client and the server on the same seven year old PC with two processors. I
assume that this is because of overhead either in the cygwin socket layers
or in the cygwin posix layers?

Native windows port (EPICS_HOST_ARCH=WIN32-x86):

D:\Users\hill\R3.14.dll_hell_fix\epics\base>catime joh:bill
Testing with 10000 channels named joh:bill
channel connect test
Elapsed Per Item =   0.00001945 sec,    51408.0 Items per sec, 27.1 Mbps
Search tries per chan - mean=1.018600 std dev=0.135108 min=1.000000
max=2.000000

channel name=joh:bill, native type=6, native count=1
        pend event test
Elapsed Per Item =   0.00000151 sec,   663956.0 Items per sec
float test
        async put test
Elapsed Per Item =   0.00000161 sec,   620419.6 Items per sec, 84.4 Mbps
        async get test
Elapsed Per Item =   0.00000229 sec,   437532.0 Items per sec, 115.5 Mbps
        synch get test
Elapsed Per Item =   0.00020621 sec,     4849.3 Items per sec, 1.3 Mbps
double test
        async put test
Elapsed Per Item =   0.00000176 sec,   567799.5 Items per sec, 77.2 Mbps
        async get test
Elapsed Per Item =   0.00000226 sec,   442325.5 Items per sec, 116.8 Mbps
        synch get test
Elapsed Per Item =   0.00020381 sec,     4906.4 Items per sec, 1.3 Mbps
string test
        async put test
Elapsed Per Item =   0.00000306 sec,   327315.3 Items per sec, 55.0 Mbps
        async get test
Elapsed Per Item =   0.00000418 sec,   239063.9 Items per sec, 70.8 Mbps
        synch get test
Elapsed Per Item =   0.00021528 sec,     4645.1 Items per sec, 1.4 Mbps
integer test
        async put test
Elapsed Per Item =   0.00000159 sec,   629055.5 Items per sec, 85.6 Mbps
        async get test
Elapsed Per Item =   0.00000217 sec,   459916.1 Items per sec, 121.4 Mbps
        synch get test
Elapsed Per Item =   0.00021208 sec,     4715.2 Items per sec, 1.2 Mbps
round trip jitter test
Round trip get delays - mean=0.000207 sec, std dev=0.000051 sec,
min=0.000110 se
c max=0.002721 sec
free test
Elapsed Per Item =   0.00000120 sec,   834962.2 Items per sec, 0.0 Mbps

Cygwin port (EPICS_HOST_ARCH=cygwin-x86):

/cygdrive/d/users/hill/R3.14.dll_hell_fix/epics/base$ catime joh:bill
Testing with 10000 channels named joh:bill
channel connect test
epicsSocketEnablePortUseForDatagramFanout: unable to set SO_REUSEADDR?
Elapsed Per Item =   0.00006680 sec,    14970.1 Items per sec, 7.9 Mbps
Search tries per chan - mean=1.018600 std dev=0.135108 min=1.000000
max=2.000000

channel name=joh:bill, native type=6, native count=1
        pend event test
Elapsed Per Item =   0.00000800 sec,   125000.0 Items per sec
float test
        async put test
Elapsed Per Item =   0.00000414 sec,   241545.9 Items per sec, 32.9 Mbps
        async get test
Elapsed Per Item =   0.00000922 sec,   108459.9 Items per sec, 28.6 Mbps
        synch get test
Elapsed Per Item =   0.01063000 sec,       94.1 Items per sec, 0.0 Mbps
double test
        async put test
Elapsed Per Item =   0.00000425 sec,   235294.1 Items per sec, 32.0 Mbps
        async get test
Elapsed Per Item =   0.00000934 sec,   107066.4 Items per sec, 28.3 Mbps
        synch get test
Elapsed Per Item =   0.01063000 sec,       94.1 Items per sec, 0.0 Mbps
string test
        async put test
Elapsed Per Item =   0.00000539 sec,   185528.8 Items per sec, 31.2 Mbps
        async get test
Elapsed Per Item =   0.00000958 sec,   104384.1 Items per sec, 30.9 Mbps
        synch get test
Elapsed Per Item =   0.01063000 sec,       94.1 Items per sec, 0.0 Mbps
integer test
        async put test
Elapsed Per Item =   0.00000422 sec,   236966.8 Items per sec, 32.2 Mbps
        async get test
Elapsed Per Item =   0.00000944 sec,   105932.2 Items per sec, 28.0 Mbps
        synch get test
Elapsed Per Item =   0.01053000 sec,       95.0 Items per sec, 0.0 Mbps
round trip jitter test
Round trip get delays - mean=0.010470 sec, std dev=0.001887 sec,
min=0.000000 se
c max=0.040000 sec
free test
Elapsed Per Item =   0.00000490 sec,   204081.6 Items per sec, 0.0 Mbps

Jeff
__________________________________________________________
Jeffrey O. Hill               Mail         JOHill@lanl.gov
LANL MS H820                  Voice        505 665 1831
Los Alamos NM 87545 USA       Fax          505 665 5107




Replies:
Re: CA on cygwin port is slower than native windows port Eric Norum

Navigate by Date:
Prev: RE: string and array buffering in soft IOCs Jeff Hill
Next: RE: vxDevWriteProbe does read Peng, Sheng
Index: 2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014 
Navigate by Thread:
Prev: date/epicsTimeShow Benjamin Franksen
Next: Re: CA on cygwin port is slower than native windows port Eric Norum
Index: 2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014 
ANJ, 02 Feb 2012 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICSv4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·