> Why would you say fastutil more than hppc? Oh, I like HPPC very much -- although I wrote it so I may not be completely objective here :)
And seriously I recommended fastutil because Mahout is primarily computational so I reckon it would be nice to have a collections package that would be (to the extent possible) compatible with standard Java collections. So that, if you really wanted to, you could compute something and get a map or a list of, say, primitive integers but then pass it on to regular Guava collections filters, do something there, write to disk using yet another package etc. In short: interoperability. The reason I wrote HPPC was primarily because (at the time) fastutil was LGPL'd which was a showstopper for me. But then Sebastiano changed the license; we exchanged a good few ideas and this resulted in code-swapping so that now both libraries are (in parts) very similar internally. Read: fastutil is fast, so is HPPC. I currently use both depending on which one I feel is a better fit for a particular project. HPPC is typically nicer if you want to go really low-level or if you want to (and get used to) its different iterators/ container structure, etc. Fastutil has more data structures to pick from (but this comes at a price when you compare the JAR sizes). I don't mind Mahout's own collection package either but I think it'd be a waste of time to develop a completely identical version of HPPC or fastutil (or trove, or... you name it). You guys are darn smart in other areas and your time will be better spent on things folks like me have a very vague idea of ;) Dawid > > Currently all we use in Mahout is lists and hashmaps, and we don't > even currently have proper iteration over the latter, so we certainly > don't depend on Collections compatibility... > > > On Tue, Mar 12, 2013 at 12:03 PM, Dawid Weiss > <[email protected]>wrote: > >> > Indeed. We have considered switching in the past, but the momentum never >> > developed. >> >> Exactly. Should somebody find the time to do the switch at some point >> I'd say fastutil would be more appropriate for Mahout since it is >> Collections-compatible and contains more different variants of common >> data structures which may be handy in the future. >> >> Dawid >> > > > > -- > > -jake
