I've got a matrix transformation that I'm doing which is really slow.
I'm looking for ways to speed it up.

source is a NxD matrix (seqs of seqs of values).  I will set and read
this matrix.
dest is a NxN transformation of f in which indices are mapped to
specific indices of f.  I will only read this matrix, not set it.

If I place a value in one cell of source, it may show up in 30 other
places in dest due to a mapping function.  I then use dest for some
simple matrix operations.  The mapping that I use is generated once,
however it has to be applied to the source very frequently.

Is there any way I could define dest with memory locations that
correspond to the mapped locations of source?  This would allow me to
define the mapping once.  Subsequently I could simply set source and
read dest with the changes already propagated.

I've thought about using seqs of seqs of refs in source, then
assigning those same refs to the mapped locations of dest, but I'm not
sure if there is some other overhead hit I would take from setting and
reading the refs.

What is the right solution?

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to