← Back to team overview

dolfin team mailing list archive

Re: New timing results for point-wise evaluation

 

On Tue, Mar 18, 2008 at 10:05:04AM +0100, Dag Lindbo wrote:
> As per request, I ran some 2d tests of evaluation of a P1-function 
> (Laplace demo C++, UnitSquare mesh) at a set of random points (cost of 
> randomization small fraction of runtime).
> 
> Almost only initialization:
> Elapsed time: 0.010000   Points: 1       Mesh 64 x 64
> Elapsed time: 0.070000   Points: 1       Mesh 128 x 128
> Elapsed time: 0.340000   Points: 1       Mesh 256 x 256
> Elapsed time: 1.460000   Points: 1       Mesh 512 x 512
> 
> The first 10000 evaluations are almost free:
> Elapsed time: 0.040000   Points: 10000   Mesh 64 x 64
> Elapsed time: 0.110000   Points: 10000   Mesh 128 x 128
> Elapsed time: 0.400000   Points: 10000   Mesh 256 x 256
> Elapsed time: 1.540000   Points: 10000   Mesh 512 x 512
> 
> Here the cost of initialization is reasonably amortized:
> Elapsed time: 2.850000   Points: 1000000         Mesh 64 x 64
> Elapsed time: 3.610000   Points: 1000000         Mesh 128 x 128
> Elapsed time: 4.780000   Points: 1000000         Mesh 256 x 256
> Elapsed time: 6.610000   Points: 1000000         Mesh 512 x 512
> 
>  From 1e6 to 4e6 evaulation the scaling is linear:
> Elapsed time: 11.77000   Points: 4000000         Mesh 64 x 64
> Elapsed time: 14.21000   Points: 4000000         Mesh 128 x 128
> Elapsed time: 18.21000   Points: 4000000         Mesh 256 x 256
> Elapsed time: 22.17000   Points: 4000000         Mesh 512 x 512

Nice!

> Another conclusion:
> Initialization does not scale so well with mesh size (as expected). 
> Finding some points, however, does scale well with bigger meshes.
> 
> /Dag
> PS. And some valgrinding confirms that there is no memory leaking.
> (Use G_SLICE=always-malloc to supress "errors" from GLib).

Good to know.

Do you know if there's a way to put this into some configuration file
for valgrind so one doesn't need to remember writing it?

-- 
Anders


References