ajgdls / EPICSPyClientPerformance

A set of performance tests for multiple Python EPICS clients
Apache License 2.0
0 stars 2 forks source link

Tracking performance issues for clients #11

Open ajgdls opened 1 year ago

ajgdls commented 1 year ago

Links to the issue raised on each of the client repositories

https://github.com/dls-controls/aioca/issues/30 https://github.com/pyepics/pyepics/issues/240 https://github.com/caproto/caproto/issues/802 https://github.com/mdavidsaver/p4p/issues/94 https://github.com/epics-base/pvaPy/issues/78 https://github.com/dls-controls/cothread/issues/33

mdavidsaver commented 1 year ago

wrt. PVA clients, I think it would be a good idea to explicitly give the same pvRequest for both, including subscription queueSize. eg. record[queueSize=4]field() or record[queueSize=10]field(value,alarm,timeStamp) or something.

https://github.com/ajgdls/EPICSPyClientPerformance/blob/8d54401048b0c0f2188ccd4524b4348fc468b231/src/EPICSPyClientPerformance/p4p_monitor.py#L17

with p4p, pass request='...' to monitor().

fyi. If not provided, P4P defaults to 'field()', which selects all fields, and the server default queueSize. For QSRV, this is 4.

https://github.com/ajgdls/EPICSPyClientPerformance/blob/8d54401048b0c0f2188ccd4524b4348fc468b231/src/EPICSPyClientPerformance/pvapy_monitor.py#L18