What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 130 Stack Exchange communities.

I read several instances (here is one instance) where recalculating reputation was described as an expensive operation; therefore, it was concluded, that it should not be done frequently, nor should users have the privilege to recalculate their own reputation unless they request the operation from a moderator.

Wouldn't adding a recepientId column to the votes table solve such a problem? Would the overhead of adding an additional column to the database table not be offset by the benefit of recalculating with a few, if any, table joins and what not?

EDIT: It came to light (thanks Pollyanna) that users can now recalculate their own reputation. I'm more interested in the merits of my suggestion; in that, would it make sense to add a recepientId column to the votes table, and how advantageous would that be?

share|improve this question
Mel, it's not clear to me how your suggestion addresses the performance concern around reputation calculation. Can you expand on your ideas? –  Michael Petrotta Feb 8 '11 at 1:02
@Michael, the votes table stores the id of the voter and the post. The id of the recipient and the post type must be inferred from the post. Those two elements are taken into account for reputation. Also, in the case of accepted answers, the question is required (you can't get rep if you own the accepted answer and the question); this must be inferred from the parentId of the post. Now that I thought about it, it doesn't make sense; having the recepientId will not solve all the problems. The postType is still needed. Now you need to add postType & recipeintId, & possibly other cols! Ignore me! –  Mohamad Feb 8 '11 at 1:10

1 Answer 1

up vote 5 down vote accepted

Reputation recalculation is now available as a user-initiated operation at http://stackoverflow.com/reputation (button at bottom).

Whether it's a CPU expensive operation or not, it's something they now let users perform if desired.

share|improve this answer
could you please weigh in on the merits of my suggestion? –  Mohamad Feb 8 '11 at 0:43
@Mel - No, I don't know enough about the internal architecture of the Stack Overflow engine to comment on performance improvements. Perhaps one of the Stack Overflow Valued Associates will chime in here. –  Adam Davis Feb 8 '11 at 0:47
In my experience a recalculation is likely to lose points; I'm unwilling to do it voluntarily because I'd slip in the rankings. I've struggled to stay on page 5 for just about my entire existence on the site. –  Mark Ransom Feb 8 '11 at 4:24
@Mark: but if everyone got recalculated periodically, then on average, most people would stay in about the same place in the rankings. I'm sympathetic to the view that the reputations on the first couple of pages of users for a site should be routinely recalculated periodically - say weekly or monthly. I tend to keep my score accurate; I dislike database systems that are inaccurate, but my work colours my perspective on such things. –  Jonathan Leffler Feb 8 '11 at 5:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .