It all makes sense and yes you have understood why.

I am now committing a change along the lines you propose, to at least
allow caching as long as the same Rescorer is being used. Comments
welcome.

On Fri, Oct 31, 2008 at 4:05 PM, Otis Gospodnetic
<[EMAIL PROTECTED]> wrote:
> Hi,
>
> * When I load a (File)DataModel and do NOT use a Rescorer, two first 
> recommend call for a user is slow (cca 3 minutes for my dataset/hw 
> combination).  The subsequent call for the same user is quick.  I'm wrapping 
> the Recommender in CachingRecommender.
>
> * I just wrote a no-op Rescorer.  When I include it in the recommend call, 
> *every* call to recommend is equally slow (cca 3 min for me).  I imagine 
> that's related to this comment in CachingRecommender:
>
>
>  public List<RecommendedItem> recommend(Object userID, int howMany, 
> Rescorer<Item> rescorer) throws TasteException {
>    // Hmm, hard to recommendationCache this since the rescorer may change
>    return recommender.recommend(userID, howMany, rescorer);
>  }
>
> I wonder if the CachingRecommender could store information about the Rescorer 
> that was used for computing recommendations.  Then, when it sees that the 
> Rescorer is the same, it could still use the cached recommendations.  What do 
> you think?
>
> Otis
>

Reply via email to