I have take a look at Jon Skeet's info page, and found that his current reputation is 538k. And now I have a question, what is the maximum reputation for a user? Is it 1000k or unlimited?
This depends entirely on the datatype used for the total reputation column in the database. The Stack Exchange software stack is based on Microsoft SQL Server 2012 (although it started out on MS SQL Server 2008).
MS SQL Server has several integer types; if the column is of type
int, then the limit is 2,147,483,647 (2 billion plus change). And the Stack Exchange Data Explorer filtered copy of the site data uses
int for reputation, making it very likely that the production database uses the same type.
Edit: Nick Craver confirmed
int is used. That means we have another 2000 years to go before Jon Skeet's reputation forces a database upgrade to
There are several types of numbers in a database (all unsigned, because there can't be a negative reputation):
- TINYINT - 0-255. Obviously not.
- SMALLINT - 0-65535. Obviously not.
- MEDIUMINT - 0-16777215. Possible, though I don't know.
- INT - 0-4294967295. Possible, that's probably it.
- BIGINT - 0-18446744073709551615. Overkill, but who knows, based on Jon Skeet that may be the case.
I don't know exactly which Stack Exchange uses, but if anything, it's MEDIUMINT and above.
Jon Skeet has an average of 333.90... points per day.
538 283 (JonSkeetRep) / 53 (MonthsActive) * (365 / 12) (avgDaysPerMonth)
2^32 = 4294967296 (unsigned int)
4294967296 / 333.90 (JonSkeetDailyRepAvg) = 12863034.7289... (NumberOfDaysToOverflow)
12863034.7289 (NumberOfDaysToOverflow) / 365.25 (AvgDaysInYear) = 35217.069757... (NumberOfYearsToOverflow)
So Jon Skeet would still have to live another 35217 years.