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 
>

Reply via email to