Make token computations more efficient
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1k
- Forks
- 412
- Avg merge
- 6d 10h
- Merged PRs (30d)
- 3
Description
At the moment the Contest._tokens_available method takes O(len(token_timestamps)) time to produce the result. Even if that list is usually quite short (maximum 20 elements in all the competitions I know about), the method is called every time the submission details page is rendered and therefore it may make sense to cache the result, to avoid DoS attacks.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the Contest._tokens_available method and the submission details page call path. Determine how token_timestamps changes and what behavior the current computation guarantees. Done means avoiding repeated O(len(token_timestamps)) work while preserving the existing result and preventing stale values; add or update tests for the method if the repository provides them.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100