Being able to stack-allocate objects that refer to the heap is an important
case that we need to address, but doing so is non-trivial and hasn't been
done yet.

On Sunday, February 7, 2016, Tim Holy <tim.h...@gmail.com> wrote:

> I filed an issue, https://github.com/JuliaLang/julia/issues/14955, which
> you
> can check to learn about progress on this problem.
>
> Best,
> --Tim
>
> On Saturday, February 06, 2016 03:35:34 PM Nitin Arora wrote:
> > I see, thanks for the information. I think, if possible, this feature
> will
> > help the language a lot.
> >
> > I have recommended Julia to many of my colleagues (they all love it over
> > Fortran and Matlab) and most of them seem to run into this issue. I
> think,
> > a modern language with soo much elegance and potential, like Julia,
> should
> > nail such major issues. I am sure by V-1.0 we will have the best
> scientific
> > programming language ever :-)
> >
> > thanks,
> > Nitin
> >
> > On Saturday, February 6, 2016 at 3:55:56 AM UTC-8, Tim Holy wrote:
> > > On Friday, February 05, 2016 05:24:04 PM Nitin Arora wrote:
> > > > Thanks Tim, this is very useful. I will probably use CartesianRange
> now.
> > > >
> > > > Is Julia 0.5 Arraypocalypse planning to address this issue as well ?
> > >
> > > I don't think there's a way to solve this by changing our
> implementation
> > > of
> > > views; I think it's more of a compiler issue, and the fact that
> > >
> > > julia> isbits(CartesianRange((3,5)))
> > > true
> > >
> > > julia> immutable ArrayWrapper{M}
> > >
> > >            data::M
> > >
> > >        end
> > >
> > > julia> z = rand(5,5);
> > >
> > > julia> isbits(ArrayWrapper(z))
> > > false
> > >
> > >
> > > Since I don't work on the compiler, I can't speak for what's going to
> > > happen
> > > there, but I'd be surprised if this changes in 0.5.
> > >
> > > Best,
> > > --Tim
> > >
> > > > thanks,
> > > > Nitin
> > > >
> > > > On Friday, February 5, 2016 at 3:24:34 PM UTC-8, Tim Holy wrote:
> > > > > On Friday, February 05, 2016 08:17:21 AM Kevin Squire wrote:
> > > > > > I think this needs to be @time bar(A).
> > > > >
> > > > > Yeah, sorry for the typo.
> > > > >
> > > > > > I get
> > > > > >
> > > > > > julia> @time bar(A)
> > > > > >
> > > > > >   0.000269 seconds (5 allocations: 176 bytes)
> > > > > >
> > > > > > 20010.937886591404
> > > > >
> > > > > That's just REPL allocation. Since A has 10000 columns, if this
> > >
> > > strategy
> > >
> > > > > were
> > > > > allocating you'd expect "10000+n allocations," where n comes from
> the
> > > > > REPL.
> > > > >
> > > > > --Tim
>
>

Reply via email to