CA Performance Reports

From EPICSWIKI

CA Performance Reports

This page is intended to report CA performance reports from various OS and CPU architectures. The reports are generated with 'catime' which delivers with EPICS versions 3.14 and above. It would be particularly interesting if sites report different or largely varying performance on a give OS, BSP/CPU combination. In this way, we can build a known expectation.

Note: Tests were executed with the exampleApp and 'catime <user>:aiExample' which defaults to 10000 channels.

Tabulated Results (by board type)

Mvme 2700

MVME2700 (all results in Mbps)
RTEMS-4.9.1 VxWorks 5.5.2 VxWorks 5.4.2
Float
Async Put 15.1 9.4 20.4
Async Get 1.3 23.4 32.0
Sync Get 1.1 1.1 1.1
Double
Async Put 15.1 9.4 20.4
Async Get 1.3 23.4 33.1
Sync Get 1.1 1.1 1.1
String
Async Put 15.1 9.4 17.8
Async Get 1.3 23.4 33.4
Sync Get 1.1 1.1 1.2
Integer
Async Put 15.1 9.4 20.1
Async Get 1.3 23.4 32.6
Sync Get 1.1 1.1 1.1

Mvme 5100

MVME5100 (all results in Mbps)
VxWorks 5.5.2
Float
Async Put 10.1
Async Get 27.3
Sync Get 0.6
Double
Async Put 10.3
Async Get 30.7
Sync Get 0.7
String
Async Put 9.3
Async Get 30.5
Sync Get 0.8
Integer
Async Put 9.9
Async Get 30.2
Sync Get 0.7

Mvme 6100

MVME6100 (all results in Mbps)
VxWorks 5.5.2
Float
Async Put 36.0
Async Get 56.0
Sync Get 1.2
Double
Async Put 36.1
Async Get 60.2
Sync Get 1.1
String
Async Put 36.0
Async Get 62.6
Sync Get 1.7
Integer
Async Put 35.4
Async Get 59.3
Sync Get 1.5

3 GHz Pentium 4

3 GHz Pentium 4 (all results in Mbps)
RTEMS-Version???
Float
Async Put 42.4
Async Get 57.4
Sync Get 0.8
Double
Async Put 42.7
Async Get 58.5
Sync Get 0.9
String
Async Put 53.8
Async Get 68.0
Sync Get 1.0
Integer
Async Put 44.0
Async Get 61.2
Sync Get 0.9


Raw catime Data

RTEMS-4.9.1 / MVME 2700

 > catime mrippa:aiExample
Testing with 10000 channels named mrippa:aiExample
channel connect test
Elapsed Per Item =   0.00042084 sec,     2376.2 Items per sec, 1.3 Mbps
Search tries per chan - mean=1.032500 std dev=0.203577 min=1.000000 max=3.000000
channel name=mrippa:aiExample, native type=6, native count=1
         pend event test
Elapsed Per Item =   0.00000342 sec,   292758.6 Items per sec
float test
         async put test
Elapsed Per Item =   0.00000897 sec,   111438.1 Items per sec, 15.2 Mbps
         async get test
Elapsed Per Item =   0.00019678 sec,     5081.7 Items per sec, 1.3 Mbps
         synch get test
Elapsed Per Item =   0.00022803 sec,     4385.4 Items per sec, 1.2 Mbps
double test
         async put test
Elapsed Per Item =   0.00000898 sec,   111321.7 Items per sec, 15.1 Mbps
         async get test
Elapsed Per Item =   0.00019742 sec,     5065.3 Items per sec, 1.3 Mbps
         synch get test
Elapsed Per Item =   0.00023804 sec,     4201.0 Items per sec, 1.1 Mbps
string test
         async put test
Elapsed Per Item =   0.00001010 sec,    99040.4 Items per sec, 16.6 Mbps
         async get test
Elapsed Per Item =   0.00019695 sec,     5077.3 Items per sec, 1.5 Mbps
         synch get test
Elapsed Per Item =   0.00022858 sec,     4374.8 Items per sec, 1.3 Mbps
integer test
         async put test
Elapsed Per Item =   0.00000906 sec,   110324.7 Items per sec, 15.0 Mbps
         async get test
Elapsed Per Item =   0.00022911 sec,     4364.7 Items per sec, 1.2 Mbps
         synch get test
Elapsed Per Item =   0.00022638 sec,     4417.3 Items per sec, 1.2 Mbps
round trip jitter test
Round trip get delays - mean=0.000228 sec, std dev=0.000008 sec, min=0.000221 
sec max=0.000469 sec
free test
Elapsed Per Item =   0.00000056 sec,  1794331.9 Items per sec, 0.0 Mbps

RTEMS(Version???) / 3 GHz Pentium 4

chabotd@opi2043-001--> catime chabotd:aiExample
Testing with 10000 channels named chabotd:aiExample
search test
Warning: Duplicate EPICS CA Address list entry "10.108.20.19:5064" discarded
Elapsed Per Item =   0.00001840 sec,    54361.7 Items per sec, 30.4 Mbps
Search tries per chan - mean=1.000000 std dev=0.000000 min=1.000000 
max=1.000000channel name=chabotd:aiExample, native type=6, native count=1
        pend event test
Elapsed Per Item =   0.00001000 sec,   100040.0 Items per sec
float test
        async put test
Elapsed Per Item =   0.00000321 sec,   311708.1 Items per sec, 42.4 Mbps
        async get test
Elapsed Per Item =   0.00000460 sec,   217374.3 Items per sec, 57.4 Mbps
        synch get test
Elapsed Per Item =   0.00031544 sec,     3170.2 Items per sec, 0.8 Mbps
double test
        async put test
Elapsed Per Item =   0.00000318 sec,   314010.2 Items per sec, 42.7 Mbps
        async get test
Elapsed Per Item =   0.00000451 sec,   221737.4 Items per sec, 58.5 Mbps
        synch get test
Elapsed Per Item =   0.00027821 sec,     3594.4 Items per sec, 0.9 Mbps
string test
        async put test
Elapsed Per Item =   0.00000312 sec,   320498.4 Items per sec, 53.8 Mbps
        async get test
Elapsed Per Item =   0.00000435 sec,   229652.8 Items per sec, 68.0 Mbps
        synch get test
Elapsed Per Item =   0.00028864 sec,     3464.5 Items per sec, 1.0 Mbps
integer test
        async put test
Elapsed Per Item =   0.00000309 sec,   323754.5 Items per sec, 44.0 Mbps
        async get test
Elapsed Per Item =   0.00000431 sec,   231797.0 Items per sec, 61.2 Mbps
        synch get test
Elapsed Per Item =   0.00029251 sec,     3418.7 Items per sec, 0.9 Mbps
round trip jitter test
Round trip get delays - mean=0.000250 sec, std dev=0.000038 sec, 
min=0.000185 sec max=0.002084 sec
free test
Elapsed Per Item =   0.00000729 sec,   137104.6 Items per sec, 0.0 Mbps

VxWorks 5.5.2 / MVME 2700

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

VxWorks 5.5.2 / MVME 5100

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

VxWorks 5.5.2 / MVME 6100

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

VxWorks 5.5.2 / MVME 172 (68060 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.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

VxWorks 5.4.2/ MVME2700

>catime mrippa:aiExample                                                                      
Testing with 10000 channels named mrippa:aiExample                                                                       
channel connect test
Elapsed Per Item =   0.00002757 sec,    36274.1 Items per sec, 19.7 Mbps
Search tries per chan - mean=1.005000 std dev=0.070534 min=1.000000 max=2.000000
channel name=mrippa:aiExample, native type=6, native count=1
        pend event test
Elapsed Per Item =   0.00000236 sec,   423276.5 Items per sec
float test
        async put test
Elapsed Per Item =   0.00000667 sec,   149989.4 Items per sec, 20.4 Mbps
        async get test
Elapsed Per Item =   0.00000825 sec,   121151.2 Items per sec, 32.0 Mbps
        synch get test
Elapsed Per Item =   0.00023309 sec,     4290.2 Items per sec, 1.1 Mbps
double test
        async put test
Elapsed Per Item =   0.00000667 sec,   149966.4 Items per sec, 20.4 Mbps
        async get test
Elapsed Per Item =   0.00000797 sec,   125539.2 Items per sec, 33.1 Mbps
        synch get test
Elapsed Per Item =   0.00023253 sec,     4300.6 Items per sec, 1.1 Mbps
string test
        async put test
Elapsed Per Item =   0.00000944 sec,   105896.1 Items per sec, 17.8 Mbps
        async get test
Elapsed Per Item =   0.00000885 sec,   113003.6 Items per sec, 33.4 Mbps
        synch get test
Elapsed Per Item =   0.00023737 sec,     4212.9 Items per sec, 1.2 Mbps
integer test
        async put test
Elapsed Per Item =   0.00000678 sec,   147597.8 Items per sec, 20.1 Mbps
        async get test
Elapsed Per Item =   0.00000810 sec,   123456.7 Items per sec, 32.6 Mbps
        synch get test
Elapsed Per Item =   0.00023458 sec,     4263.0 Items per sec, 1.1 Mbps
round trip jitter test
Round trip get delays - mean=0.000233 sec, std dev=0.000006 sec, min=0.000227 sec max=0.000505 sec
free test
Elapsed Per Item =   0.00000054 sec,  1847203.4 Items per sec, 0.0 Mbps