I have measured the read time of the position of a motor which is implemented as a child class of the Sardana MotorController. I have used %%timeit in a jupyter notebook. Although there is no communication with the HW, the query takes 6.8 msec, that is very slow in my opinion. In contrast, reading a double attribute of a pure PyTango DS takes only 0.25 msec.
is it normal behavior of Sardana or is something wrong in my setup?
I use Sardana 3.5.0 and PyTango 9.4.1 in a conda env on ubuntu 20.04.
How to reproduce:
mot = tango.DeviceProxy("mot_x") #SARDANA Motor
----------------
%%timeit
mot.position
-> 6.79 ms ± 242 μs per loop (mean ± std. dev. of 7 runs, 100 loops each)
----------------
lvcam = tango.DeviceProxy("lv_test_cam") # very simple pytango DS
---------------
%%timeit
lvcam.timestamp_raw_image
-> 247 μs ± 68 μs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)