EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Comparing catime performance
From: Andrew Johnson <[email protected]>
To: Matt Rippa <[email protected]>
Cc: [email protected]
Date: Fri, 9 Jan 2009 15:44:57 -0600
Hi Matt,

On Thursday 08 January 2009 22:40:55 Matt Rippa wrote:
>
> I've setup an mvme2700 with RTEMS and an exampleApp (R3.14.10). I was
> wondering how my catime results compare with other sites using other boards
> or OS. Is there an expectation for a 10/100 port?

Here are my results for an MVME2700 IOC running on vxWorks 5.5.2:

tux% ./epics/base/3-14-dev/bin/linux-x86_64/catime anj:aiExample
Testing with 10000 channels named anj:aiExample
channel connect test
Elapsed Per Item =   0.00003874 sec,    25810.8 Items per sec, 14.0 Mbps
Search tries per chan - mean=1.000000 std dev=0.000000 min=1.000000 
max=1.000000
channel name=anj:aiExample, native type=6, native count=1
        pend event test
Elapsed Per Item =   0.00000345 sec,   289767.4 Items per sec
float test
        async put test
Elapsed Per Item =   0.00001462 sec,    68411.5 Items per sec, 9.3 Mbps
        async get test
Elapsed Per Item =   0.00001230 sec,    81294.3 Items per sec, 21.5 Mbps
        synch get test
Elapsed Per Item =   0.00026592 sec,     3760.5 Items per sec, 1.0 Mbps
double test
        async put test
Elapsed Per Item =   0.00001454 sec,    68754.2 Items per sec, 9.4 Mbps
        async get test
Elapsed Per Item =   0.00001127 sec,    88727.2 Items per sec, 23.4 Mbps
        synch get test
Elapsed Per Item =   0.00034435 sec,     2904.0 Items per sec, 0.8 Mbps
string test
        async put test
Elapsed Per Item =   0.00001853 sec,    53980.3 Items per sec, 9.1 Mbps
        async get test
Elapsed Per Item =   0.00001281 sec,    78077.5 Items per sec, 23.1 Mbps
        synch get test
Elapsed Per Item =   0.00027493 sec,     3637.3 Items per sec, 1.1 Mbps
integer test
        async put test
Elapsed Per Item =   0.00001472 sec,    67928.8 Items per sec, 9.2 Mbps
        async get test
Elapsed Per Item =   0.00001143 sec,    87478.8 Items per sec, 23.1 Mbps
        synch get test
Elapsed Per Item =   0.00025829 sec,     3871.6 Items per sec, 1.0 Mbps
round trip jitter test
Round trip get delays - mean=0.000255 sec, std dev=0.000053 sec, min=0.000225 
sec max=0.004384 sec
free test
Elapsed Per Item =   0.00000084 sec,  1193582.6 Items per sec, 0.0 Mbps


For comparison, these are from an MVME5100 (which has a 10/100 network and a 
faster CPU) running vxWorks 5.5.2 and exactly the same IOC binary:

tux% ./epics/base/3-14-dev/bin/linux-x86_64/catime anj:aiExample
Testing with 10000 channels named anj:aiExample
channel connect test
Elapsed Per Item =   0.00005100 sec,    19609.8 Items per sec, 10.7 Mbps
Search tries per chan - mean=1.000000 std dev=0.000000 min=1.000000 
max=1.000000
channel name=anj:aiExample, native type=6, native count=1
        pend event test
Elapsed Per Item =   0.00000344 sec,   290548.5 Items per sec
float test
        async put test
Elapsed Per Item =   0.00001347 sec,    74245.0 Items per sec, 10.1 Mbps
        async get test
Elapsed Per Item =   0.00000965 sec,   103586.2 Items per sec, 27.3 Mbps
        synch get test
Elapsed Per Item =   0.00042115 sec,     2374.5 Items per sec, 0.6 Mbps
double test
        async put test
Elapsed Per Item =   0.00001325 sec,    75457.5 Items per sec, 10.3 Mbps
        async get test
Elapsed Per Item =   0.00000860 sec,   116330.8 Items per sec, 30.7 Mbps
        synch get test
Elapsed Per Item =   0.00037642 sec,     2656.6 Items per sec, 0.7 Mbps
string test
        async put test
Elapsed Per Item =   0.00001809 sec,    55264.4 Items per sec, 9.3 Mbps
        async get test
Elapsed Per Item =   0.00000971 sec,   102951.4 Items per sec, 30.5 Mbps
        synch get test
Elapsed Per Item =   0.00037095 sec,     2695.8 Items per sec, 0.8 Mbps
integer test
        async put test
Elapsed Per Item =   0.00001372 sec,    72912.3 Items per sec, 9.9 Mbps
        async get test
Elapsed Per Item =   0.00000875 sec,   114266.4 Items per sec, 30.2 Mbps
        synch get test
Elapsed Per Item =   0.00037644 sec,     2656.5 Items per sec, 0.7 Mbps
round trip jitter test
Round trip get delays - mean=0.000375 sec, std dev=0.000856 sec, min=0.000329 
sec max=0.085398 sec
free test
Elapsed Per Item =   0.00000085 sec,  1182483.6 Items per sec, 0.0 Mbps


Finally from an MVME6100, vxWorks 5.5.2 and the same IOC binary and 100Mbps 
network but an even faster CPU:

tux% ./epics/base/3-14-dev/bin/linux-x86_64/catime anj:aiExample
Testing with 10000 channels named anj:aiExample
channel connect test
Elapsed Per Item =   0.00001952 sec,    51226.7 Items per sec, 27.9 Mbps
Search tries per chan - mean=1.000000 std dev=0.000000 min=1.000000 
max=1.000000
channel name=anj:aiExample, native type=6, native count=1
        pend event test
Elapsed Per Item =   0.00000345 sec,   290170.8 Items per sec
float test
        async put test
Elapsed Per Item =   0.00000378 sec,   264433.8 Items per sec, 36.0 Mbps
        async get test
Elapsed Per Item =   0.00000471 sec,   212208.6 Items per sec, 56.0 Mbps
        synch get test
Elapsed Per Item =   0.00022625 sec,     4419.9 Items per sec, 1.2 Mbps
double test
        async put test
Elapsed Per Item =   0.00000376 sec,   265718.1 Items per sec, 36.1 Mbps
        async get test
Elapsed Per Item =   0.00000439 sec,   228009.3 Items per sec, 60.2 Mbps
        synch get test
Elapsed Per Item =   0.00025025 sec,     3995.9 Items per sec, 1.1 Mbps
string test
        async put test
Elapsed Per Item =   0.00000467 sec,   214319.2 Items per sec, 36.0 Mbps
        async get test
Elapsed Per Item =   0.00000473 sec,   211639.6 Items per sec, 62.6 Mbps
        synch get test
Elapsed Per Item =   0.00017418 sec,     5741.3 Items per sec, 1.7 Mbps
integer test
        async put test
Elapsed Per Item =   0.00000384 sec,   260597.1 Items per sec, 35.4 Mbps
        async get test
Elapsed Per Item =   0.00000445 sec,   224667.4 Items per sec, 59.3 Mbps
        synch get test
Elapsed Per Item =   0.00017441 sec,     5733.5 Items per sec, 1.5 Mbps
round trip jitter test
Round trip get delays - mean=0.000160 sec, std dev=0.000037 sec, min=0.000143 
sec max=0.001319 sec
free test
Elapsed Per Item =   0.00000085 sec,  1178270.6 Items per sec, 0.0 Mbps


For grins, these are the results from an MVME172, a much slower 68060 CPU that 
also has a 10Mbps network, still on vxWorks 5.5.2:

tux% ./epics/base/3-14-dev/bin/linux-x86_64/catime anj:aiExample
Testing with 10000 channels named anj:aiExample
channel connect test
Elapsed Per Item =   0.00040487 sec,     2469.9 Items per sec, 1.3 Mbps
Search tries per chan - mean=1.020300 std dev=0.141025 min=1.000000 
max=2.000000
channel name=anj:aiExample, native type=6, native count=1
        pend event test
Elapsed Per Item =   0.00000344 sec,   290717.6 Items per sec
float test
        async put test
Elapsed Per Item =   0.00016272 sec,     6145.7 Items per sec, 0.8 Mbps
        async get test
Elapsed Per Item =   0.00010047 sec,     9953.0 Items per sec, 2.6 Mbps
        synch get test
Elapsed Per Item =   0.00134354 sec,      744.3 Items per sec, 0.2 Mbps
double test
        async put test
Elapsed Per Item =   0.00016162 sec,     6187.3 Items per sec, 0.8 Mbps
        async get test
Elapsed Per Item =   0.00009026 sec,    11079.4 Items per sec, 2.9 Mbps
        synch get test
Elapsed Per Item =   0.00132881 sec,      752.6 Items per sec, 0.2 Mbps
string test
        async put test
Elapsed Per Item =   0.00021103 sec,     4738.7 Items per sec, 0.8 Mbps
        async get test
Elapsed Per Item =   0.00017505 sec,     5712.5 Items per sec, 1.7 Mbps
        synch get test
Elapsed Per Item =   0.00144579 sec,      691.7 Items per sec, 0.2 Mbps
integer test
        async put test
Elapsed Per Item =   0.00016138 sec,     6196.6 Items per sec, 0.8 Mbps
        async get test
Elapsed Per Item =   0.00009144 sec,    10935.7 Items per sec, 2.9 Mbps
        synch get test
Elapsed Per Item =   0.00143598 sec,      696.4 Items per sec, 0.2 Mbps
round trip jitter test
Round trip get delays - mean=0.001324 sec, std dev=0.000230 sec, min=0.001206 
sec max=0.007993 sec
free test
Elapsed Per Item =   0.00000087 sec,  1147919.8 Items per sec, 0.0 Mbps


The OS and speed of the client machine you're testing from do appear to have 
some effect on the results as well, but they are secondary to the speed of 
the IOC and its network bandwidth for an MVME2700 IOC at least.

HTH,

- Andrew
-- 
The best FOSS code is written to be read by other humans -- Harold Welte

Replies:
Re: Comparing catime performance Daron Chabot
References:
Comparing catime performance Matt Rippa

Navigate by Date:
Prev: Re: Comparing catime performance Till Straumann
Next: Re: Comparing catime performance Kate Feng
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Comparing catime performance Kate Feng
Next: Re: Comparing catime performance Daron Chabot
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024