octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Fwd: [OctDev] slow structs]


From: Jonathan Kotta
Subject: Re: [Fwd: [OctDev] slow structs]
Date: Thu, 18 Dec 2008 12:19:27 -0600

On 12/17/08, John W. Eaton <address@hidden> wrote:
> On 17-Dec-2008, Daniel J Sebald wrote:
>
>  | Subject: [OctDev] slow structs
>  | Date: Wed, 17 Dec 2008 18:13:17 -0600
>  | From: Jonathan Kotta <address@hidden>
>  | To: address@hidden
>
> |
>  | I have a problem where a vector within a struct is much slower to
>  | index than a plain vector (~8x slower) .
>  |
>
> | x = zeros(1e6,1);
>  | s.x = x;
>  | subset = 500e3:600e3-1;
>  | y = randn(length(subset),1);
>  | for i = 1:5
>  |    tic; x(subset) = y; toc;
>  | end
>  | for i = 1:5
>  |    tic; s.x(subset) = y; toc;
>  | end
>
>
> Accessing a structure element requires looking up the element in a map
>  using the field name (a character string).  You don't expect that
>  would be free, do you?
>
>
>  jwe
>

No, I guess I just didn't expect it to be that much slower.  Anyway, I
think I solved my original problem; my example was a simplified
version of it.  Thanks for the replies.


-- 
Thanks,

Jonathan Kotta

Hofstadter's Law:
    It always takes longer than you expect, even
    when you take into account Hofstadter's Law.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]