PS I noticed another optimization: On Wed, Jan 27, 2010 at 11:32 AM, Sean Owen <sro...@gmail.com> wrote: > while (currentKey != NULL && (currentKey == REMOVED || key != currentKey)) > {
can be while (currentKey != NULL && key != currentKey) { since key is not allowed to be the value REMOVED ever. It is non-trivial since this line is probably executed billions of times in a good solid run of a recommender.