This section displays the results of Sardana performance tests. The measurements have been done for various reasons:

- It has to be verified that the Sardana performance is satisfactory.
- When setting-up a new experiment technique, the results
mentioned below can be used to decide whether Sardana
is sufficiently fast. The alternative is always a hardware
controlled continuous scan.
- In case a beamline scientist is in doubt whether the
online control system is performant, he can execute
scans that are described below and compare the outcome.
- It is interesting to see how the Sardana numbers compare
with another program.

The first series of scans are performed with a dummy motor (exp_dmy01) in order to avoid any delays caused by the motor movements. The parameters are:

exp_dmy01 - exp_dmy01.velocity == 10000 - exp_dmy01.acceleration == 1

It appears that the results are basically independent of the velocity and acceleration values.

Here are the results for relative scans in the range from -0.1, 0.1. The number of points is 101 and the sample time is 0.1s.

Scan command: %dscan exp_dmy01 -0.1 0.1 100 0.1 Elapsed times for different measurement groups: d1_c01 14.8s (31%) d1_c01 - d1_c04 16.6s (38%) d1_c01 - d1_c12 20.1s (49%) d1_c01, mca-2048 27.7s (63%) d1_c01, mca-4096 33.1s (69%) d1_c01, mca-8192 43.2s (76%) d1_c01, i-petra: 19.5s (47%) d1_c01 - d1_c12, mca-2048 30.9s (67%) %dscan exp_dmy01 -0.1 0.1 200 0.1 d1_c01 29.0s (31%) %dscan exp_dmy01 -0.1 0.1 400 0.1 d1_c01 59.0s (31%)

The scan executed with a measurement group containing one only one counter (d1_c01) takes 14.8s. These are the contributions:

- The total sample time is 10.1s.
- The time it takes to rel-move exp_dmy01 100 times from -0.1 to 0.1 is 1.4s. This has been measured with the macro 4.6.3.
- From the lines containing the results for 4 and 12 counters we derive that each counter adds about 0.5s (for 101 scan points) to the elapsed time.
- Subtracting the numbers mentioned to far we conclude that we have a 'system scan overhead time' of 3s.

If we repeat the scan with 200 and 400 points, we find a linear scaling.

So far only dummy scans have been performed. The tests have also been done with a real motor. The parameters are:

d1_mot66 configured like haspp09, th, p09/motor/exp.05 - conversion -40000 - acceleration 25000 - BaseRate 2000 - slewRate 25000 - unitBacklash 0.1

It takes 19s to rel-move d1_mot66 in 100 steps from -0.1 to 0.1.

The elapsed scan times are:

%timedMacro "dscan d1_mot66 -0.1 0.1 100 0.1" d1_c01 32.6s (54%) d1_c01 - d1_c04 34.3s (68%) d1_c01 - d1_c12 37.6s (71%) d1_c01, mca-2048 44.0s (76%) d1_c01, mca-4096 47.6s (78%) d1_c01, mca-8192 54.3s (80%) d1_c01, i-petra: 36.8s (71%) d1_c01 - d1_c12, mca-2048 47.9s (77%) %timedMacro "dscan d1_mot66 -0.1 0.1 200 0.1" d1_c01 61.3s (66%) %timedMacro "dscan d1_mot66 -0.1 0.1 400 0.1" d1_c01 117.9s (65%)

Conclusions:

- If we take the motor move times into account, we see that the results of the dummy and the real motor scans are roughly in agreement.
- The Sardana 'system scan overhead time' is in the order of 30% for dummy scans. For real motor scans this contribution is insignificant.