[ https://issues.apache.org/jira/browse/MAHOUT-165?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jake Mannix updated MAHOUT-165: ------------------------------- Attachment: MAHOUT-165-with-colt.patch While there isn't yet a consensus on where this stuff will live, for now, so we can see what we're getting into, I've attached a patch which includes, currently in core/src/main/java, two new packages: org.apache.mahout.colt and org.apache.mahout.jet. The only modifications I've done to these files is removing any dependency on hep.aida.*, the LGPL'ed corejava.*, and cern.clhep physical constants stuff, and I also, ironically enough, removed an ugly "©" symbol which at least on my system was causing javac to blow up during compile (I left the rest of the entire copyright notice intact, just without the © symbol in there). I added: {code} /** * @deprecated until unit tests are in place. Until this time, this class/interface is unsupported. */ @Deprecated {code} in front of every public class or interface. Also, to get it to compile, I added a maven dependency on Doug Lea's concurrent jar, which it turns out is accessible in apache's maven repo. If we really want this out in google-code somewhere, I can easily package up this patch and put it somewhere else. > Using better primitives hash for sparse vector for performance gains > -------------------------------------------------------------------- > > Key: MAHOUT-165 > URL: https://issues.apache.org/jira/browse/MAHOUT-165 > Project: Mahout > Issue Type: Improvement > Components: Matrix > Affects Versions: 0.2 > Reporter: Shashikant Kore > Assignee: Grant Ingersoll > Fix For: 0.3 > > Attachments: colt.jar, mahout-165-trove.patch, > MAHOUT-165-updated.patch, MAHOUT-165-with-colt.patch, mahout-165.patch, > MAHOUT-165.patch, mahout-165.patch > > > In SparseVector, we need primitives hash map for index and values. The > present implementation of this hash map is not as efficient as some of the > other implementations in non-Apache projects. > In an experiment, I found that, for get/set operations, the primitive hash of > Colt performance an order of magnitude better than OrderedIntDoubleMapping. > For iteration it is 2x slower, though. > Using Colt in Sparsevector improved performance of canopy generation. For an > experimental dataset, the current implementation takes 50 minutes. Using > Colt, reduces this duration to 19-20 minutes. That's 60% reduction in the > delay. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.