Big overhead with the new lazy reshape/reinterpret

Have you tried the following:

assert(typeof(a)==Array{Float64, 2})
assert(3==size(a,1))
b=unsafe_wrap(Array, reinterpret(Ptr{SVector{3, Float64}},pointer(a)), (size(a,2),), false); 

Of course this is a dirty workaround and requires you to possibly @gc_preserve a.