Next obvious speedups ideas I can think of are:

1) Batch insert into OpenIntDoubleHashMap(OIDHM) and
OrderedIntDoubleMapping(OIDM). This way mutable operations like plus() or
minus() can iterate on the Intersection elements and add the difference in
one go. Can anyone think of a smart way to rehash based on new input
elements ?

2) Speed up aggregate and assign methods(Dan is doing that with)

3) Generalize caching framework of derived properties like
getLengthSquared() and extend it into other things, like commons norms (L1,
L2), numNonZeros(),

4) Parallelize operations: Use a consistent sharding function to trivially
parallelize certain iterative operations across multiple threads.

6) Replace current DenseVector and/or encapsulate JBlas inside it.

7) Improve exception handling.

All these can be independent projects. I know I wont get time to get to
this, I am more than happy to review

Reply via email to