Next: Testing, Previous: Library Routines, Up: Top
The file ./test/p6.spl with the following characteristics: # spline deformation amplitudes # z_order 4 # theta_order 4 # qz 421 # num_z_knots 417 # num_theta_knots 144 # zmin zmax -1.000000e+00 1.000000e+00 # tmin tmax 0.000000e+00 6.283185e+00 # rms amplitude 129188.64688685712463 #
will be used to derive the following timing results for evaluating the spline without evaluating the derivatives and then with derivatives. The actual time one may get is dependent on many factors such as the number of theta and z knots etc...
| 6 | 6 | 6 | 10 | 4 * 10 | 9 * 10 ___________|______________|______________|______________ | | | ab | 35.7 | 1:58.9 | 4:17.5 ba | 33.6 | 1:50.7 | 3:59.0 aa | 36.2 | 2:01.4 | 4:23.2 bb | 32.9 | 1:48.2 | 3:53.3 optimized | 33.2 | 1:48.9 | 3:55.5 dasl | 59.8 | 3:35.5 | 7:54.3
Note that the time for the optimized version (without evaluating the
derivatives) is slightly more then the time for the 'bb' version. The
reason for this is the routine Bspline_eval
was provided as a
symmetry to the function Bspline_eval_derivs
. The routine
Bspline_eval
sets to flag, method1='b'; and method2='b'; before
calling routine 'bb' so a slightly slower time is expected.
| 6 | 6 | 6 | 10 | 4 * 10 | 9 * 10 ___________|______________|______________|______________ | | | ab | 1:09.8 | 4:15.6 | 9:24.8 ba | 1:04.5 | 3:54.5 | 8:37.9 aa | 1:11.4 | 4:21.9 | 9:39.4 bb | 1:02.8 | 3:47.7 | 8:22.7 optimized | 45.5 | 2:38.1 | 5:45.6 dasl | 2:38.2 | 10:09.0 | 22:40.0
The script ./test/timeit.ksh was used to generate the entries to this table.
The time gain in the dasl routine versus the optimized Algorithm C is dependent on several factors. The order of the spline and then number of knots in theta and z.