octave-maintainers
[Top][All Lists]

## Re: Slowup in 2.1.54

 From: David Bateman Subject: Re: Slowup in 2.1.54 Date: Wed, 18 Feb 2004 10:26:16 +0100 User-agent: Mutt/1.4.1i

```According to Dmitri A. Sergatskov <address@hidden> (on 02/17/04):
>
> cputime does not work with pthreads, so I have to use tic/toc.
> Here is another example of recursion slowdown:
>
> 2.1.53:
>
> tic; for n=1:1000; bm_x=sylvester_matrix(7) ; endfor ; toc
> ans = 4.2025
>
> 2.1.54:
>
> tic; for n=1:1000; bm_x=sylvester_matrix(7) ; endfor ; toc
> ans = 11.574

Ok, I confirm your results, as

2.1.50:
tic; for n=1:1000; bm_x=sylvester_matrix(7) ; endfor ; toc
ans = 6.1742

2.1.54:
tic; for n=1:1000; bm_x=sylvester_matrix(7) ; endfor ; toc
ans = 40.233

However, what is it in the sylvester_matrix function that makes you think the
problem is due to recursion. There is a line in sylvester_matrix

retval = [tmp, tmp; tmp, -tmp];

I tried replacing this with

retval = 1;

just to check whether the problem was due to recursion or this
concatentaion operation. The results were

2.1.50:
tic; for n=1:1000; bm_x=sylvester_matrix(7) ; endfor ; toc
ans = 2.9223

2.1.54
tic; for n=1:1000; bm_x=sylvester_matrix(7) ; endfor ; toc
ans = 2.6302

So to me the problem is clearly in the concatenation operations, not
the recursion. Interestingly the above allows an estimate of the slowup
in the concatenation operation to be derived as

(40.233 - 2.6302) / (6.1742 - 2.9223) = 11.563

So there is a factor of roughly 11 slowup in the concatenation operations.

Regards
D.

--
Motorola CRM                                 +33 1 69 35 48 04 (Ph)
Parc Les Algorithmes, Commune de St Aubin    +33 1 69 35 77 01 (Fax)
91193 Gif-Sur-Yvette FRANCE

The information contained in this communication has been classified as:

[x] General Business Information
[ ] Motorola Internal Use Only
[ ] Motorola Confidential Proprietary

```

reply via email to