Hi Erlangers,<div><br></div><div>I need to build a ranking system for online game.</div><div><br></div><div>I think I will have a ranking gen_server that will accept cast messages like this: {score, Player :: profile(), Score :: integer()}.</div>

<div><br></div><div>So, the question is what would be most appropriate data structure if:</div><div><ol><li>I have to rank about 50 000 - 100 000 different players.</li><li>On each score message I have to re-sort whole ranking table.</li>

<li>It must be very cheap to get:</li><ol><li>top 100 players</li><li>player's rating +/- 10 players about current player</li></ol><li>I expect about 20-50 score messages per seconds</li><li>Size of score message is about 4KB (profile takes most of the space).</li>

</ol><div><br></div></div><div>Any ideas or suggestions are welcome!</div><div><br></div><div><div>Best regards,</div><div>Max</div><br><br>
</div>