Next: , Previous: Library Routines, Up: Top


5 A Timing Comparison of BsplineEval library vs DASL

     
     	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.