Hi, On Friday, December 5, 2014 8:47:22 AM UTC+1, Ján Dolinský wrote: > > Hi, > > I am exploring DataFrames and NamedArrays packages and I would like to ask > whether their are suitable for heavier computations and whether I can use > them directly in BLAS calls (e.g. gemv() etc.). In addition, is it possible > to create views of e.g. DataFrames or NamedArrays ? > > 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 > Thanks, > Jan >
