#1 #10 Lichess has more players than ICC and FICS so although we keep a live index of the top 200 players, we don't compute an index of the top 2,000,000 players (so there could be such a rank command for everyone). You would need to download the database from http://database.adjva4.dpdns.org/ and compute it yourself.
#1 #10 Lichess has more players than ICC and FICS so although we keep a live index of the top 200 players, we don't compute an index of the top 2,000,000 players (so there could be such a rank command for everyone). You would need to download the database from http://database.adjva4.dpdns.org/ and compute it yourself.
#11 Yes, really good point, which address the core of the question.
QuickSorting (e.g.) would be O(N^(3/2)) and I understand now the problem of having such a ranked-sorted list update just-in-time updated: it would be very CPU-time consuming. Not just for the number of players, but also for the high number of games played simoultaneously here in Lichess (30k-40k at once).
Then there would be two possibilities:
- To compute it when asked by an API-call
- Not to try to give the current just-on-time ranking, but compute it periodically on a daily, perhaps hourly basis.
Downloading the whole database seems a bit excesive, but if there is only that way, thank you for the hint!
#11 Yes, really good point, which address the core of the question.
QuickSorting (e.g.) would be O(N^(3/2)) and I understand now the problem of having such a ranked-sorted list update just-in-time updated: it would be very CPU-time consuming. Not just for the number of players, but also for the high number of games played simoultaneously here in Lichess (30k-40k at once).
Then there would be two possibilities:
* To compute it when asked by an API-call
* Not to try to give the current just-on-time ranking, but compute it periodically on a daily, perhaps hourly basis.
Downloading the whole database seems a bit excesive, but if there is only that way, thank you for the hint!
#12 "Then there would be two possibilities:
- To compute it when asked by an API-call
- Not to try to give the current just-on-time ranking, but compute it periodically on a daily, perhaps hourly basis."
Sure, we'll just stop all rated games in progress to ensure an accurate listing. :-)
But seriously we'd need a database which handles concurrent operations for this sort of a request:
https://www.youtube.com/watch?v=s19G6n0UjsM
#12 "Then there would be two possibilities:
* To compute it when asked by an API-call
* Not to try to give the current just-on-time ranking, but compute it periodically on a daily, perhaps hourly basis."
Sure, we'll just stop all rated games in progress to ensure an accurate listing. :-)
But seriously we'd need a database which handles concurrent operations for this sort of a request:
https://www.youtube.com/watch?v=s19G6n0UjsM