> > I can only speak for NamedArrays. On the one hand the deployment of BLAS > should be transparant and the use of NamedArray vs Array not lead to much > degradation in performance. E.g., "a * b" with `a` and `b` a NamedArray, > effectively calls "a.array * b.array" which Base implements with > BLAS.gemm(). There is just a little overhead of filling in sensible names > in the result---so if you have small matrices in an inner loop, you're > going to get hurt. > > On the other hand, I am not sure how much of the Julia BLAS cleverness is > retained in NamedArrays---but the intention of the package is that it is > completely transparent, and if you notice bad performance for a particular > situation then you should file an issue (or make a PR:-). Individual > element indexing of a NamedArray with integers is just a little bit slower > than that of an Array. Indexing by name is quite a bit slower---you may > try a different Associative than the standard Dict. > > Incidentally, I've been toying with the idea of NamedArrays `*` check on > consistency of index and dimension names, but my guess is that people would > find such a thing annoying. > > ArrayViews are currently not aware of NameArrays. I believe the views are > going to be part ov julia-0.4, so then it would be a task for NamedArray to > implement views of NamedArrays I gather. > > Cheers, > > ---david >
Hi, Thanks for the explanation. Suppose I have a named array X with 3 columns "x1", "x2" and "x3" and I do prod(X, 2). Will the resulting array (a single columns in this case) have a sensible name like "x1x2x3" ? Or more generally, how are these new names generated and for which operations ? Thanks, Jan