Threaded CI engine#889
Conversation
b66c266 to
e9129f1
Compare
3c8ed11 to
507ee51
Compare
9cd3678 to
0fcc4ff
Compare
|
TODO: Split stdout/stderr per player. Add CLI command |
bad5d44 to
94182d4
Compare
|
Closes #826 |
33b7f0c to
35b443d
Compare
9c6dabe to
cb06c09
Compare
Adds an optional event flag to call_pelita to break the loop
cb06c09 to
c841399
Compare
|
Code is a bit of a mess in some parts; there are multiple ways that concurrency is done and the whole database stuff feels very low level but it kind of works and allows one to quickly run 1000s of matches (given enough cores). As a future task, I think we should give the |
|
@otizonaizit Do you want to review this or should we just merge as it does hardly affect anything in Pelita main? |
c841399 to
5ceb4aa
Compare
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):
and then view the result:
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: