Skip to content

Conversation

@Debilski
Copy link
Member

@Debilski Debilski commented Jun 6, 2025

Work in progress, but gets the job done already (needs better data structures for result passing and the counting may still be broken).

Run 100 matches (10 at the same time):

contrib/ci_engine.py run -n 100 -t 10

and then view the result:

contrib/ci_engine.py print-scores

As it turns out, the old approach of simply running a bunch of ci_engine processes in parallel on a server is not really accurate (sqlite gets overwritten unless it is explicitly locked, in which case it will just crash). We basically need one and only one thread to do all the db handling.

TODO:

  • Better counting (new match selection)
  • Elo is broken
  • Hashing should be done concurrently
  • Breaks when not hashed
  • No detection when players have changed

@Debilski Debilski force-pushed the feature/threaded-ci branch 3 times, most recently from b66c266 to e9129f1 Compare June 6, 2025 22:41
@Debilski Debilski force-pushed the feature/threaded-ci branch from 3c8ed11 to 507ee51 Compare August 29, 2025 12:54
@Debilski Debilski force-pushed the feature/threaded-ci branch 4 times, most recently from 9cd3678 to 0fcc4ff Compare September 10, 2025 13:11
@Debilski
Copy link
Member Author

TODO: Split stdout/stderr per player. Add CLI command show-last-failed to print output for failed games

@Debilski Debilski force-pushed the feature/threaded-ci branch 5 times, most recently from bad5d44 to 94182d4 Compare September 10, 2025 21:20
@Debilski
Copy link
Member Author

Closes #826

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant