I may have said this earlier, but we just need https://github.com/JuliaLang/julia/issues/7799.
--Tim On Thursday, October 22, 2015 12:11:05 AM Christoph Ortner wrote: > So here is a reason for keeping the linespace a vector: > > julia> t = linspace(0, 1, 1_000_000); > julia> s = collect(t); > julia> @time for n = 1:10; exp(t); end > 0.209307 seconds (20 allocations: 76.295 MB, 3.42% gc time) > julia> @time for n = 1:10; exp(s); end > 0.054603 seconds (20 allocations: 76.295 MB, 17.66% gc time) > julia> @time for n = 1:10; AppleAccelerate.exp(s); end > 0.016640 seconds (40 allocations: 76.295 MB, 31.64% gc time) > julia> @time for n = 1:10; AppleAccelerate.exp!(s,s); end > 0.005702 seconds > > Now the natural response will be to say that most of the time I won't care > so much about performance, and when I do, then I can go optimise. But in > truth the same can be said about keeping linspace abstract just because it > saves memory. (obviously it is not faster!) > > I think the argument for abstract types is very strong, but (in my personal > view) not at the expense of expected behaviour. > > Christoph