Hi Mike - Thanks for the reponse! I was able to go from your example and comments to resolve the issue. It's very obvious in retrospect but I can detail why it was non-obvious to me at the time. I had two issues:
(1) Did not take happy path in to library b/c I didn't call "array" on the returned Java short array from io.
(2) I must have had a version misalignment for vetorclj and core.matrix when I originally tested this case, which meant the implementation wasn't configured correctly.
One other note: the happy path still seems to be quite slow with ndarray.
What I ran into was this:
-- Starting w/ :vectorz impl I tried to do the reshape on the short array, saw that it worked but took a long time.
-- After the reshape, I tried more reshapes, to see if it would still take a long time -- it did (**but here I suspect it had silently used the persistent vector implementation)
-- I thought it was something intrinsic to reshape with :vectorz, tried to switch to :ndarray and then :jblas, saw same problems b/c:
a-- :ndarray really does seem to be that slow for reshape
b-- :jblas backend wasn't working and I didn't realize it - same case as w/vectorz
Workflow I followed for resolution was:
1) Following the new-array initialization path you copied I started getting the warning/error messages about the implementation not working.
2) Updated project to latest vectorz and core.matrix versions, set implement to vectorz
3) Implementation then seemed to be working, tested your case with new-array and everything was fine.
5) Verified that this still takes a long time with :ndarray
Thanks again, I'll be able to play with stuff pretty easily now. :)
-B