Not for me:

        - function foo()
 18110699            a = ones(100,100,100)
  8000064            b = zeros(100,100,100)
      240            a[1:50,1:50,1:50] = sub(b, 1:50, 1:50, 1:50)
        -        end

julia 0.4.

--Tim

On Thursday, December 10, 2015 01:47:26 PM Júlio Hoffimann wrote:
> I tried both sub() and slice(), they make it worst:
> 
>         - function baz()
>   8000768   a = ones(100,100,100)
>   8000544   b = zeros(100,100,100)
>         -
> 156003456   a[1:50,1:50,1:50] = sub(b,1:50,1:50,1:50)
>         - end
>         -
>         - baz()
>         - Profile.clear_malloc_data()
>         - baz()
>         -
> 
> -Júlio
> 
> 2015-12-10 13:45 GMT-08:00 Tim Holy <[email protected]>:
> > On Thursday, December 10, 2015 12:49:42 PM Júlio Hoffimann wrote:
> > > Why the assignment is allocating memory?
> > 
> > b[1:50,1:50,1:50] creates a new array. Try sub(b, 1:50, 1:50, 1:50).
> > 
> > --Tim

Reply via email to